作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Java 中,我喜欢使用这样的结构
List<String> list = new ArrayList<String>() {{add("foo");}};
有没有办法在 C# 中的 1 行中完成此操作?
最佳答案
这称为集合初始化程序,它是 C# 3.0 的一部分。
与列表一样,您可以初始化更复杂类型的集合,只要它们实现 IEnumerable 并为集合初始化程序中的每个元素提供适当的 Add 方法。例如,您可以使用 Add(key, value)
Dictionary<TKey, TValue>
的方法|像这样:
var dict = new Dictionary<string, int>
{
{"first", 10 },
{"second", 20 }
};
更多详细信息可以在深入了解 C# 的第 8 章中找到,该章可以从 Manning's web site 免费下载。 .
关于C# 等效于具有 init block 的 Java 匿名内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/535720/
我是一名优秀的程序员,十分优秀!