C#简化字符串数组初始化

C#简化字符串数组初始化,c#,arrays,C#,Arrays,C#简化字符串数组初始化。有没有办法用C优化下面的代码# string[]createdBy=新字符串[totalRowCount]; 对于(长i=0;i

C#简化字符串数组初始化。有没有办法用C优化下面的代码#

string[]createdBy=新字符串[totalRowCount];
对于(长i=0;i

int?[]defaultInd=new int?[totalRowCount];
对于(长i=0;i
在这两个示例中,没有很多方法可以简化for循环,除非您使用Enumeration.Range,如其他答案所示。但是,在第二个示例中,可以使用三元运算符:

defaultInd[i] = i == 0 ? 1 : 0;

在这两个例子中,没有很多方法可以简化for循环,除非您使用枚举.Range,如其他答案所示。但是,在第二个示例中,可以使用三元运算符:

defaultInd[i] = i == 0 ? 1 : 0;
可以使用构造重复序列:

string[] createdBy = Enumerable.Range(0, totalRowCount)
    .Select(i => userName)
    .ToArray();
int?[] defaultInd = Enumerable.Range(0, totalRowCount)
    .Select(i => i==0 ? (int?)1 : 0)
    .ToArray();
请注意,第一个lambda表达式如何不使用index
i
的值,因为所有元素都设置为相同的字符串。

您可以使用来构造重复序列:

string[] createdBy = Enumerable.Range(0, totalRowCount)
    .Select(i => userName)
    .ToArray();
int?[] defaultInd = Enumerable.Range(0, totalRowCount)
    .Select(i => i==0 ? (int?)1 : 0)
    .ToArray();

请注意,第一个lambda表达式如何不使用index
i
的值,因为所有元素都设置为相同的字符串。

不想做傻事,只想提供一些替代建议,因为下面的答案给出了您想要的。我认为你应该追求可读性而不是聪明的语法糖。我怀疑使用缩短的方法会有明显的性能提高,如果这里出现任何问题,您只会使调试变得更加困难,因为我假设您对语法不太熟悉。就我的两分钱;-)我不想成为一个混蛋,只是想提供一些替代建议,因为下面的答案会给你你想要的。我认为你应该追求可读性而不是聪明的语法糖。我怀疑使用缩短的方法会有明显的性能提高,如果这里出现任何问题,您只会使调试变得更加困难,因为我假设您对语法不太熟悉。就我的两分钱;-)
string[] createdBy = Enumerable.Range(0, totalRowCount)
    .Select(i => userName)
    .ToArray();
int?[] defaultInd = Enumerable.Range(0, totalRowCount)
    .Select(i => i==0 ? (int?)1 : 0)
    .ToArray();