将List<T>转换为string[]。

3
使用C#,我有一个类型为Foo的List,其中包含一个字符串属性Bar。我想使用Bar属性将此List转换为字符串数组。 是否有一种简单的(LINQ?)方法可以在不必循环遍历集合的情况下完成这个操作?
2个回答

12
 List<Foo> l = GetMyList();
 string[] myStrings = l.Select(i => i.Bar).ToArray();
请注意,像所有的Linq代码一样,这个代码仍会遍历整个集合,只不过你不需要自己写循环。
另外请注意,在最后可能的时刻之前应该避免调用.ToArray()。你确定在这里使用IEnumerable就足够了吗?

是的,我正在覆盖别人的类,该类需要一个字符串数组。 - mattdwen

4

试试这个:

 string[] bars = myList.Select(x => x.Bar).ToArray();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接