此问题已存在:
What is the LINQ way to implode/join a string array? [duplicate]
八年前就关门了。
是否有任何方法可以使用LINQ将对象集合转换为单个新对象?
我想在另一个LINQ to SQL表达式中使用它。
此问题已存在:
What is the LINQ way to implode/join a string array? [duplicate]
八年前就关门了。
是否有任何方法可以使用LINQ将对象集合转换为单个新对象?
我想在另一个LINQ to SQL表达式中使用它。
4条答案
按热度按时间clj7thdc1#
为什么不使用
string.Join
本身?rqqzpn5f2#
您可以使用Aggregate方法...
或
kkbh8khc3#
通常的方法是使用其中一个聚合运算符(
Aggregate
、Sum
、Average
等),但这完全取决于类型和您要执行的操作。您感兴趣的类型是什么?编辑:好的,你想连接字符串...我不认为LINQ to SQL本身有任何东西可以做到这一点。选项:
xu3bshqb4#
如果你有大量的值要连接,这里的大多数解决方案都是相当低效的。而且,它们也不是那么可读。如果你要经常做这类事情,那么值得构建你自己的扩展方法来完成它。下面的实现允许你做
string.Join(", ", arrayOfStrings)
的等价物,其中arrayOfStrings可以是IEnumerable<T>
,和separator可以是任何对象。它允许你这样做:我喜欢的两点是:
1.它在LINQ环境中可读性很强。
1.它非常高效,因为它使用StringBuilder,并避免了对枚举进行两次求值,这在数据库场景(L2S、L2E或L2Nh)中非常重要。