C#中初始化数组的所有可能方式:语法完整概述
大家好!我刚开始学习C#,总是搞混创建数组的不同方式。好像有很多种选择:new int[] {1,2,3}、直接 {1,2,3}、new[] {1,2,3} 等等。我在StackOverflow上看到过类似的问题,但都是英文的,我想得到一个清晰的中文解释。
我特别感兴趣的是:
1. C#中初始化数组有哪些语法?
2. 在什么情况下最好使用哪种语法?
3. 一维数组、多维数组和交错数组(jagged arrays)之间有什么区别?
举个例子,让我困惑的是。为什么这样能工作:
```csharp
int[] arr1 = new int[3] { 1, 2, 3 };
int[] arr2 = new int[] { 1, 2, 3 };
int[] arr3 = new[] { 1, 2, 3 };
int[] arr4 = { 1, 2, 3 };
```
而这样不行:
```csharp
int[] arr5;
arr5 = { 1, 2, 3 }; // 编译错误
```
还有:能否用一行代码创建数组并直接传递给方法?感谢提供详细解答和示例。