我在工作期间遇到了 String 数组类型的属性,并决定对它进行聪明的处理,并为其添加一个匿名的值数组,因为我不需要一个我只会使用一次的值数组。但令我惊讶的是,这不可能吗?
class Foo
{
public String[] bar { get; set; }
}
static void Main(string[] args)
{
Foo foo = new Foo();
String[] arr = { "val1", "val2", "val3" };
foo.bar = arr;
foreach (String bar in foo.bar)
{
Console.WriteLine(bar);
}
}
毫不奇怪的输出:“val1”“val2”“val3”
但!
static void Main(string[] args)
{
Foo foo = new Foo();
foo.bar = {"val1", "val2", "val3"};
}
抛出各种讨厌的编译器错误。
谷歌搜索没有答案,所以我转向 SO。为什么这是不可能的?