在不初始化 C# 的情况下赋值



如果我能通过以下方式为数组赋值,我可以知道其中的区别吗

int [] marks = { 99,  98, 92, 97, 95};

为什么我看到有人写这个?

int [] marks = new int[]  { 99,  98, 92, 97, 95};

有什么区别?

第二个问题,由于int是原始类型,我可以通过以下方式创建一个实例

int i;

但我可以看到有人写得像

int i = new int();

又有什么区别?多谢!

一般的答案是,a)C#你可以通过几种方式达到相同的结果b)并不是所有的方法从一开始就可用。

对于b),有两个部分:

  • 在添加新方法之前编写的代码
  • 用旧兔子编写的新代码 - 新方法并不总是比旧方法更好,它们只是看起来更好:)

回复:数组

查看一维数组中的数组初始化(C# 编程指南(。

对象和集合初始值设定项(C# 编程指南(也是相关的。

此外,在从新运算符创建数组(C# 参考(中显示了 3 种方法(这不是所有方法(:

var a = new int[3] { 10, 20, 30 };
var b = new int[] { 10, 20, 30 };
var c = new[] { 10, 20, 30 };

这里甚至还有一个关于所有可能方法的问题:所有可能的数组初始化语法。

<小时 />

回复:新整数

答案中有两个部分:

  1. 对于int i;(只是一个声明(,在初始化之前不能使用。
  2. 有多种
  3. 方法可以初始化变量,就像数组一样。

请查看值类型(C# 参考(中的初始化值类型。

你可以在那里阅读:

当然,您可以将声明和初始化放在与以下示例相同的语句中:

int myInt = new int();

–或–

int myInt = 0;

具体而言,有关默认值,请查看默认值表(C# 参考(。您可以在那里看到,您还可以:

int a = default(int);

C#7.1 甚至

int a = default;

最新更新