string[]和List<string>有什么区别
同为存放string的数组,他们有什么区别?
[解决办法]
这个摘自网上:
数组的容量是固定的,您只能一次获取或设置一个元素的值,而List<T>的容量可根据需要自动扩充、修改、删除或插入数据。
数组可以具有多个维度,而 List< T> 始终只具有一个维度。但是,您可以轻松创建数组列表或列表的列表。特定类型(Object 除外)的数组 的性能优于List的性能。 这是因为 List的元素属于 Object 类型;所以在存储或检索值类型时通常发生装箱和取消装箱操作。不过,在不需要重新分配时(即最初的容量十分接近列表的最大容量),List< T> 的性能与同类型的数组十分相近。
[解决办法]
string 就是String...
string[]是 数组,定长,不可变
List<string> 是泛型 ,非定长,可变
[解决办法]
作用是一样的,但灵活性不同。string[]是定长的,不容易实现容量增长、中间插入一个字符串这样的操作,List<string>则可以方便实现。如果你能确定字符串数组长度,而且可以逐项填充的话,建议用string[]。如果不能确定数组长度,或者在计算值时需要不断向中间插入一个字符串,可以使用List<string>,生成完成后再用ToArray()方法转换为string[],string[]也可以通过List的AddRange方法添加到List<string>。
[解决办法]
string[]只能存放string格式数据 而且一般的是固定大小长度的
而List<>存放一个实体类可以使string,int或者自定义的
List<string> list=new List<string>();
string为你想要的对象,里面可以有属性,方法等,这就是面向对象。
而String[]只是存放值而已,不是对象
[解决办法]
区别是长度是否可变,List<string> 内部也是 string[]
只是它能自动扩容。
[解决办法]
技术论坛最好对自己说的话负责,而不是随口就胡扯。
因为你的胡扯就可能会误导别人,从而影响更多的人。
不确定的事情可以说,但是最好说明自己不是很懂,或者不确定。免得别人看了还以为是什么正确的结论而记住。
[解决办法]
1:数组是定长,list是自动增长。
2:数组效率高,list效率低。
总结:数组牺牲功能增加效率,list牺牲效率增加功能。
[解决办法]