今天才发现一个很简单很基本的问题,就是怎么也不能正确。
方法1: string[] a; a[0] = "we";MessageBox.Show(a[0]); //使用了未赋值的局部变量a
方法2: string[] a = new string[] { }; a[0] = "we"; MessageBox.Show(a[0]); //可以编译通过.....
解决方案:
改用List<string>吧!
方法一是没有new(没有分配空间)。
方法二是在new的时候没有指定大小,默认是0个元素,所以对其任意一个元素赋值都是越界。
在C#中,数组一般用来存放大小确定的数据。
如果数组大小未知,建议使用List<>.
List<string> a=new List<string>();
a.Add("we");
MessageBox.Show(a[0]);
同时,你可以用a.ToArray()来随时转换成string[]。
也可以List<string> b=new List<string>(a.ToArray());
将数组数据初始化进List<>。
对象是需要new的,如果不new,就不知道数组的长度。
如果本身是不定长的数组,可以用List等数据结构来保存。
文章讲述了在C#编程中遇到的关于数组赋值的常见问题。方法一因未对数组进行初始化导致错误,而方法二虽初始化但默认大小为0,赋值也会出错。作者推荐使用List<string>,因为它支持动态大小,更适用于大小不确定的数据。通过Add方法添加元素,必要时可以使用ToArray()转换回数组。
2646

被折叠的 条评论
为什么被折叠?



