我引用了本书的以下段落: C#编程语言 第四版
C#支持单和 任何类型的多维数组。 与上面列出的类型不同,数组 类型不必声明 在他们可以使用之前。代替, 数组类型由。构造 跟随广场的类型名称 括号。例如,int []是一个 int的一维数组, int [,]是一个二维数组 int和int [] []是一个 一维数组 int的一维数组。
和
Nullable类型也不一定非 在可以使用之前声明。对于 每个非n ullable值类型T那里 是一个相应的可空类型T?, 这可以保持额外的价值 空值。例如,int?是一种类型 可以容纳任何32位整数或 值null。
如何使用数组和可空类型而不事先声明它们?
答案 0 :(得分:6)
简短回答
这些引文试图说明的是,您不必像创建自定义类那样“创建”(或声明)数组和可空值类型,以便使用它们。它们已作为C#语言功能提供。
答案很长
如果要声明int
的数组,只需执行以下操作:
int[] intArray = new int[5];
如果您创建了一个自定义类,例如Foo
,并且您想要声明一个Foo
个对象的数组,那么第一个引用就是说您不必编写代码来告诉关于可以容纳Foo
个对象的数组类型的编译器;只需执行此操作,编译器将找出其余部分:
Foo[] fooArray = new Foo[5];
同样,要创建可以为空的值类型的项,只需将?
附加到类型:
int? nullableInt = null;
此外,以上只是Nullable<T>
结构的语法糖:
Nullable<int> nullableInt = null;
请注意,这仅适用于值类型(包括结构),因为默认情况下所有引用类型(对象,委托等)都可以为空。