“;;预计“;设置数组值时出错
本文关键字:出错 设置 预计 数组 | 更新日期: 2023-09-27 17:49:38
string[] aryProp = { "Name", button.Name };
//ListViewItem lvi = new ListViewItem(aryProp);
aryProp={ "Width" , button.Width.ToString() };
";"预期"(第3行)为什么我得到这个错误?
编辑:@jon, @David, @Grant:谢谢你的帮助,但是我为什么要用不同的语法呢?这是不是有点不合逻辑?
为什么我得到这个错误?
因为虽然您的语法对变量声明中的初始化是有效的,但对普通赋值是无效的。你可以使用:
aryProp = new[] { "Width" , button.Width.ToString() };
或:
aryProp = new string[] { "Width" , button.Width.ToString() };
在规范术语中,{ ... }
是数组初始化器,而new string[] { ... }
是数组创建表达式(当然,其中包括数组初始化器)。数组初始化器不是一个可以用作值的单独表达式;只能在数组创建表达式、局部变量初始化器或变量初始化器中使用。
在非规范方面:是的,它看起来有点不一致,但我怀疑允许aryProp = { ... }
无处不在会有重大问题,但允许它声明是很好的…
您使用的是一维数组,在您的情况下,我怀疑您应该使用二维数组或像这样的字典:
var aryProp = new Dictionary<string, string>();
aryProp.Add("Name", button.Name);
aryProp.Add("Width", button.Width.ToString());
foreach (var element in aryProp)
{
Console.WriteLine(element.Key + " " + element.Value);
}