我有一个节点列表:
IEnumerable<Node> list
我也有一个单一的项目
Node item
是否可以直接将列表替换为没有List.Add或List.AddRange的项目?
list = item // do something here to convert/cast
答案 0 :(得分:5)
IEnumerable<Node> list = new[] { item };
单个元素数组?
相当于:
IEnumerable<Node> list = new Node[] { item };
答案 1 :(得分:3)
很多方式,另一种可能是扩展
public static IEnumerable<T> ToEnumerable<T>(this T source)
{
yield return source;
}
所以你可以做到
IEnumerable<Node> aSequenceOfOne = item.ToEnumerable();
尽管在实践中,尽管有分配,但the array似乎始终是务实的。