【发布时间】:2013-08-16 11:30:09
【问题描述】:
我有一个节点列表:
IEnumerable<Node> list
我也有一个单品
Node item
是否可以直接用没有 List.Add 或 List.AddRange 的项目替换列表?
list = item // do something here to convert/cast
【问题讨论】:
标签: c# asp.net ienumerable
我有一个节点列表:
IEnumerable<Node> list
我也有一个单品
Node item
是否可以直接用没有 List.Add 或 List.AddRange 的项目替换列表?
list = item // do something here to convert/cast
【问题讨论】:
标签: c# asp.net ienumerable
IEnumerable<Node> list = new[] { item };
单元素数组?
相当于:
IEnumerable<Node> list = new Node[] { item };
【讨论】:
方法很多,另一种可能是扩展
public static IEnumerable<T> ToEnumerable<T>(this T source)
{
yield return source;
}
所以你可以这样做
IEnumerable<Node> aSequenceOfOne = item.ToEnumerable();
尽管在实践中,the array 似乎总是很务实,尽管有分配。
【讨论】:
new 为IEnumerable<Node> 的隐藏类,这就像锅叫水壶黑色:-)