2017-04-12 113 views
-6

我所试图做的是说我有字符串列表,其中列表是一个列表...如何将两个或更多个字符串列表中的每个字符串组合在一起?

list1 = "A", "B", "C" 
list2 = "1", "2", "3" 
list3 = "Dog" 
... 

然后我得到

newList = "A1Dog", "A2Dog", "A3Dog", "B1Dog", "B2Dog", "B3Dog", "C1Dog", 
    "C2Dog", "C3Dog" 

名单是否有办法用LINQ来做这件事还是有更好的方法来做到这一点?

+8

你尝试过什么?这看起来像是你正在倾倒在我们身上的作业,希望我们能为你做。 – tnw

+3

这不是“为我编写代码”服务,您向我们提供需求列表,然后将它们转换为工作代码。向我们展示一些代码以及您尝试过的内容,我们可以帮助您解决问题。创建一个[最小,完整,可验证的示例](https://stackoverflow.com/help/mcve)。例如,不要给我们列出“列表清单”的伪代码,而是花30秒钟创建列表的实际c#列表,以便我们可以将它复制到我们的IDE中以帮助您。 – Quantic

回答

2

是的,你可以简单地使用多个from条款:

var result = 
    from x in list1 
    from y in list2 
    from z in list3 
    select x+y+z; 

csharp交互的shell,这给:

csharp> var list1 = new string[] {"A", "B", "C"}; 
csharp> var list2 = new string[] {"1", "2", "3"}; 
csharp> var list3 = new string[] {"Dog"};   
csharp>  var result = 
     >   from x in list1 
     >   from y in list2 
     >   from z in list3 
     >   select x+y+z; 
csharp> result 
{ "A1Dog", "A2Dog", "A3Dog", "B1Dog", "B2Dog", "B3Dog", "C1Dog", "C2Dog", "C3Dog" } 
+3

我想这*是*“为我做作业”网站毕竟... – tnw

+0

@tnw - 如果问题是一个家庭作业问题,我会惊讶,如果使用Linq解决它是可以接受的(它可能是)。通常这些类型的任务要求学生使用'for'循环或类似的东西。 –

+1

@ChrisDunaway好吧,让我们假设这不是一段时间的家庭作业。这仍然是一个零工作“为我工作”的问题。 – tnw

相关问题