Packages
KotlinではJavaと同様にpackageが存在します。しかし、C#ではpackageではなくnamespace(名前空間)という名称です。 Kotlinでは慣習としてpackageの命名規則はlowercaseでした。一方C#ではUpperCamelCaseです。
namespace NameSpace { class Class { } } namespace NameSpace.Sub { }
また、コードからもわかるように、1ファイル1パッケージではなく、1ファイルに複数の名前空間を持たせることもできます。
Default Imports
importの省略はないので略
Imports
Kotlinでは使用する型をパッケージ名を含む完全修飾名で指定するか、アスタリスク*
を使い、指定するパッケージ配下のすべての型指定するimport方法がありました。
しかし、C#では名前空間単位でusingディレクティブ宣言(Kotlinのimportのようなもの)をします。
using System; using System.Collections.Generic;
また、import asによる別名importは似ている機能としてusingエイリアスがあります。
using SList = System.Collections.Generic.List<string>;
usingエイリアスですが、普段は型名が衝突した時にしか使用されないでしょう。
Visibility of Top-level Declarations
C#ではTop-levelで処理を記述することはできないので割愛。