C# 创建一个大小为n的C列表,并用0'初始化它;s
如何在C#中创建大小可变的列表,并用0初始化所有元素 我知道的一种方法是以这种方式使用EnumerableC# 创建一个大小为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); 这是一种节省内存的方法,
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感谢您的建议。这些真的很有帮助。