今天才发现一个很简单很基本的问题,就是怎么也不能正确。。。
方法1:
string[] a;
a[0] = "we";
MessageBox.Show(a[0]);
//使用了未赋值的局部变量a
方法2:
string[] a = new string[] { };
a[0] = "we";
MessageBox.Show(a[0]);
//可以编译通过,真正运行时显示索引超出数组界限
不要给我说应该在最上面大括号就赋值。那是个人就知道。问题刚定义的时候哪里知道值啊?值都是后来调用的时候动态赋的嘛!
如果想用FOR语句对数组进行操作怎么办呢?
另外,为什么类似于这样的赋值又是可行的呢?
string a="你好,中国";
string[] b = new string[] { };
if (Regex.Match(a, @",").Success)
{
b = a.Split('|');
}
相关分类