Avatar ·

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 }; // 编译错误 ``` 还有:能否用一行代码创建数组并直接传递给方法?感谢提供详细解答和示例。