String[]和List<String>区别

文章转载于《string[]和List<string>区别》

String[]数组里面是存放String型的,List<String>是存放String类型的对象

区别1.

数组的容量是固定的,只能一次获取或设置一个元素的值,而List<T>的容量可根据需要自动扩充、修改、删除或插入数据。
数组可以具有多个维度,而 List<T> 始终只具有一个维度。但是,您可以轻松创建数组列表或列表的列表。特定类型(Object 除外)的数组的性能优于List的性能。 这是因为 List的元素属于 Object 类型;所以在存储或检索值类型时通常发生装箱和取消装箱操作。不过,在不需要重新分配时(即最初的容量十分接近列表的最大容量),List< T> 的性能与同类型的数组十分相近。

区别2

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指的是集合.<>是泛型,里面指定了这个集合中存放的是什么数据.
比如有一个学生类Student,Student里面包含了学生的一些信息.这样每一个Student对象就代表了一个学生,此时List<Student>就代表这个集合中存放了很多个学生对象,这个集合就像一个班级一样.。

猜你喜欢

转载自blog.csdn.net/amoscn/article/details/80461609