例如,我有:
public static List<int> actorList = new List<int>(); public static List<string> ipList = new List<string>();
他们都有各种各样的项目。
所以我尝试使用foreach循环将值(string和整数)连接在一起:
foreach (string ip in ipList) { foreach (int actor in actorList) { string temp = ip + " " + actor; finalList.Add(temp); } } foreach (string final in finalList) { Console.Writeline(finalList); }
虽然回头看,这是相当愚蠢的,显然是行不通的,因为第一个forloop嵌套。
WMI,负cpu使用率值和过去的Timestamp_Sys100NS
我有什么select使用C#在windows Server上添加和删除IPSec策略?
在windows上的C#中加载一个linuxdynamic库(.so)
如何在windows中以兼容模式启动应用程序会影响应用程序,我该如何检测它?
如何尽可能以平台无关的方式从c ++中调用.NET
我的期望值为finalList列表:
actorListItem1 ipListItem1 actorListItem2 ipListItem2 actorListItem3 ipListItem3
等等..
所以这两个列表中的值是相互连接在一起的 – 按列表顺序对应它们的位置。
如何使用.net TransactionScope从MQ执行事务GET?
windows RegKey – 默认浏览器应用程序path
停止计算机输出显示
C# – 蒙面文本框的(如何摆脱其中的下划线)
如何在windows中运行应用程序?
使用liNQ的ZIP功能
List<string> finalList = actorList.Zip(ipList,(x,y) => x + " " + y).ToList(); finalList.ForEach(x=> Console.Writeline(x)); // For displaying
或者将它们合并成一行
actorList.Zip(ipList,y)=>x+" "+y).ToList().ForEach(x=>Console.Writeline(x));
一些功能性的善良呢?
ListA.Zip(ListB,(a,b) => a + " " + b)
假设你可以使用.NET 4,你想看看Zip扩展方法和提供的例子:
int[] numbers = { 1,2,3,4 }; string[] words = { "one","two","three" }; // The following example concatenates corresponding elements of the // two input sequences. var numbersAnDWords = numbers.Zip(words,(first,second) => first + " " + second); foreach (var item in numbersAnDWords) Console.Writeline(item); Console.Writeline();
在这个例子中,由于没有相应的words “4”的条目,所以它从输出中被省略。 在开始之前,您需要进行一些检查以确保收集的长度相同。
循环索引:
for (int i = 0; i < ipList.Count; ++i) { string temp = ipList[i] + " " + actorList[i]; finalList.Add(temp); }
您可能还想在此之前添加代码,以验证列表的长度是否相同:
if (ipList.Count != actorList.Count) { // throw some suitable exception }
for(int i=0; i<actorList.Count; i++) { finalList.Add(actorList[i] + " " + ipList[i]); }
总结以上是内存溢出为你收集整理的如何合并两个列表的值全部内容,希望文章能够帮你解决如何合并两个列表的值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)