C#如何给数组动态添加元素?如何“push“?
应用场景:
需要向数组中循环插入元素,但C#中的数组是没有其他语言的push语法,是不支持动态添加元素的,C#只能创建固定长度的数组,该如何解决呢?
个人方法:使用泛型list< T >
,先将元素存入list中,再使用ToArray()
方法将list转换成数组。
下面以读取一行数据,动态添加到整型数组中为例:
获取元素,初始化泛型
// 读取一行数据给字符串line
string line = Console.ReadLine();
// 将字符串以空格分割,存进字符串数组values
var values = line.Split(' ');
// 现需要向数组中循环插入整型,但C#中的数组是不支持动态添加元素的
// 使用泛型list<T>
List<int> intList = new List<int>();
先将元素存入list
中,最后使用ToArray()
转成数组
// 循环字符串数组添加元素到泛型中
for (var i = 0; i < values.Length; i++)
{
intList.Add(int.Parse(values[i]));
}
int[] arr = intList.ToArray();
此时arr
数组就是动态添加后的数组了。