【发布时间】:2013-10-23 22:21:17
【问题描述】:
我得到了一个字符串列表,我想做一个将每个项目与其余项目连接起来的操作。以下测试目前失败,我认为 join 不是我应该使用的正确 linq 方法 - 请告诉我如何完成此操作?输出的模式应该告诉投影应该如何,如果不是规则很简单:取一个项目并与所有其他项目连接,然后移动到下一个项目。下面测试:
[Test]
public void Should_concatenate_all_items()
{
var items = new List<string> {"a", "b", "c", "d"};
var concatenatedList = items .Join(items , x => x, y => y, (x, y) => string.Concat(x, y));
foreach (var item in concatenatedList)
{
//Should output:ab
//Should output:ac
//Should output:ad
//Should output:bc
//Should output:bd
//Should output:cd
Console.WriteLine(item);
}
}
注意:我使用的是 .NET 3.5。
【问题讨论】:
-
什么是
potentialItems及其元素?这是完整的输出还是样本? -
好吧,我就是这么想的
-
为什么要使用 Linq 来做这样的事情?这只是一个嵌套循环,它已经完成了,并且在几个月的时间内,它在做什么将非常明显。 Linq 背后的理念是更大的表达力,无论如何都不能表达它的一切......