Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建一个大小为n的C列表,并用0'初始化它;s_C# - Fatal编程技术网

C# 创建一个大小为n的C列表,并用0'初始化它;s

C# 创建一个大小为n的C列表,并用0'初始化它;s,c#,C#,如何在C#中创建大小可变的列表,并用0初始化所有元素 我知道的一种方法是以这种方式使用Enumerable IEnumerable<int> list1 = Enumerable.Range(1, n).Select(x => x * 0); IEnumerable list1=Enumerable.Range(1,n)。选择(x=>x*0); 不确定使用这种方式的时间复杂性。只是想找个更好的办法 Enumerable.Repeat(0, n); 这是一种节省内存的方法,

如何在C#中创建大小可变的列表,并用0初始化所有元素

我知道的一种方法是以这种方式使用Enumerable

IEnumerable<int> list1 = Enumerable.Range(1, n).Select(x => x * 0);
IEnumerable list1=Enumerable.Range(1,n)。选择(x=>x*0);
不确定使用这种方式的时间复杂性。只是想找个更好的办法

Enumerable.Repeat(0, n);
这是一种节省内存的方法,但由于int的默认值为0,您也可以这样做

var array = new int[n];

另一种方法是
Enumerable.Repeat(0,n)一旦开始枚举,我预计时间复杂度为O(n)。更好的方法是使用数组,因为您知道列表的长度
n
。大小为
n
的数组将全部初始化为零。您不需要做数学运算,只需选择所需的值:
IEnumerable list1=Enumerable.Range(1,n)。选择(x=>0)。另外,由于
int
值的默认值为
0
,并且在数组创建过程中,所有项都初始化为其默认值,因此您只需执行
IEnumerable list1=new int[n]。最后,您可能想选择一个更好的名称,因为
list1
不是
列表
@ivcubr我选择列表而不是数组的原因是,以后可能会添加一些其他元素。@JonathonChase和RufusL感谢您的建议。这些真的很有帮助。