【发布时间】:2013-08-22 05:05:13
【问题描述】:
我在工作期间遇到了 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。为什么这是不可能的?
【问题讨论】:
-
这个“匿名”的方式是什么?它没有使用匿名类型或匿名方法……据我所知,这段代码中的任何内容都与 C# 中“匿名”术语的任何使用相对应。
标签: c# arrays properties