如何将IEnumerable转换为组合值的字符串数组
本文关键字:字符串 数组 组合 IEnumerable 转换 | 更新日期: 2023-09-27 18:26:18
假设我有我的对象:
public class MyObject{ public p1; public p2; }
还有可枚举的版本:
IEnumerable<MyObject> MyObjects;
如何将其转换为string[]
,即p1 + '=' + p2
值的数组?
你可以在上做一些简单的linq
(from m in MyObjects
select m.p1 + "=" + p2).ToArray()
如果你真的不需要它作为一个数组,你可以省略对ToArray()
的调用,然后你会得到一个IEnumerable<string>
而不是
如果您希望将它们全部放入逗号分隔的列表中,则不需要转换为数组,因为string.Join
方法有一个重载,需要一个可枚举值。所以你可以这样做:
string.Join(",",from m in MyObjects
select m.p1 + "=" + p2);
我个人更喜欢上面的语法,但如果你都赞成使用更少的字母,那么代码在语义上等于下面的较短片段
string.Join(",",MyObjects.Select(m => m.p1 + "=" + p2));
MyObjects.Select(o => o.p1 + "=" + o1.p2).ToArray()