首页 > C# > C# 可以使用哪些数组初始化语法?

C# 可以使用哪些数组初始化语法?

上一篇 下一篇

C# 可以使用哪些数组初始化语法?

分割线

网友回答:

C# 中作为表达式的数组创建语法包括:

new int[3]
new int[3] { 10, 20, 30 }
new int[] { 10, 20, 30 }
new[] { 10, 20, 30 }

在第一个中,大小可以是任何非负整数值,并且数组元素被初始化为默认值。

在第二个中,大小必须是一个常量,并且给定的元素数量必须匹配。必须存在从给定元素到给定数组元素类型的隐式转换。

在第三个中,元素必须隐式转换为元素类型,并且大小由给定的元素数确定。

在第四个中,数组元素的类型是通过计算具有类型的所有给定元素中的最佳类型(如果有的话)来推断的。所有元素都必须隐式转换为该类型。大小由给定的元素数量确定。此语法是在 C# 3.0 中引入的。

还有一种语法只能在声明中使用:

int[] x = { 10, 20, 30 };

元素必须可隐式转换为元素类型。大小由给定的元素数量确定。

没有多合一的指南

我建议你参考 C# 4.0 规范,第 7.6.10.4 节“数组创建表达式”。

分割线

网友回答:

这些是简单数组的当前声明和初始化方法。

string[] array = new string[2]; // creates array of length 2, default values
string[] array = new string[] { "A", "B" }; // creates populated array of length 2
string[] array = { "A" , "B" }; // creates populated array of length 2
string[] array = new[] { "A", "B" }; // created populated array of length 2

请注意,还存在获取数组的其他技术,例如 上的 Linq 扩展。ToArray()IEnumerable<T>

另请注意,在上面的声明中,前两个可以将左侧的替换为 (C# 3+),因为右侧的信息足以推断出正确的类型。第三行必须按显示的方式编写,因为仅靠数组初始化语法不足以满足编译器的需求。第四种也可以使用推理。因此,如果您喜欢整个简洁的事情,则可以将以上内容写为string[]var

var array = new string[2]; // creates array of length 2, default values
var array = new string[] { "A", "B" }; // creates populated array of length 2
string[] array = { "A" , "B" }; // creates populated array of length 2
var array = new[] { "A", "B" }; // created populated array of length 2 

分割线

网友回答:

非空数组

  • var data0 = new int[3]
  • var data1 = new int[3] { 1, 2, 3 }
  • var data2 = new int[] { 1, 2, 3 }
  • var data3 = new[] { 1, 2, 3 }
  • var data4 = { 1, 2, 3 }不可编译。请改用。int[] data5 = { 1, 2, 3 }

空数组

  • var data6 = new int[0]
  • var data7 = new int[] { }
  • var data8 = new [] { }并且不可编译。int[] data9 = new [] { }
  • var data10 = { }不可编译。请改用。int[] data11 = { }

作为方法的参数

只有可以使用关键字分配的表达式才能作为参数传递。var

  • Foo(new int[2])
  • Foo(new int[2] { 1, 2 })
  • Foo(new int[] { 1, 2 })
  • Foo(new[] { 1, 2 })
  • Foo({ 1, 2 })不可编译
  • Foo(new int[0])
  • Foo(new int[] { })
  • Foo({})不可编译

模板简介:该模板名称为【C# 可以使用哪些数组初始化语法?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 185次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 03-05
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
响应式 自适应 html5 微信素材 微信模板 企业网站 微信图片 微信文章 微信公众平台 单页式简历模板
您可能会喜欢的其他模板