c# – 如何在运行时分配数组值

考虑我有一个数组,
int[] i = {1,2,3,4,5};

这里我已经为它分配了值.但是在我的问题中,我只能在运行时获取这些值.
如何将它们分配给数组.

例如:

我从用户获取数组的最大大小,现在我们将值分配给数组int [].

或者我可以使用任何其他数据类型,如ArrayList等,我可以转换到Int []结束?

解决方法

那么最简单的就是使用List< T>:
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Add(4);
list.Add(5);
int[] arr = list.ToArray();

否则,您需要分配一个合适大小的数组,并通过索引器进行设置.

int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;

如果您无法预测数组的大小,则第二种方法是无用的,因为每次添加项目时重新分配数组都是昂贵的;列表< T>使用双重策略来最小化所需的重新分配.

相关文章

在项目中使用SharpZipLib压缩文件夹的时候,遇到如果目录较深,则压缩包中的文件夹同样比较深的问题。比...
项目需要,几十万张照片需要计算出每个照片的特征值(调用C++编写的DLL)。 业务流程:选择照片...
var array = new byte[4]; var i = Encoding.UTF8.GetBytes(100.ToString(&quot;x2&quot;));//...
其实很简单,因为Combox的Item是一个K/V的object,那么就可以把它的items转换成IEnumerable&lt;Dic...
把.net4.6安装包打包进安装程序。 关键脚本如下: 头部引用字符串对比库 !include &quot;WordFunc....
项目需求(Winform)可以批量打印某个模板,经过百度和摸索,使用iTextSharp+ZXing.NetʿreeSp...