首页 .Net .NET(C#)通过分隔符列表(list)合并连接两个字符串列表(list)的方法

.NET(C#)通过分隔符列表(list)合并连接两个字符串列表(list)的方法

实现效果

List<string> list1=new List<string>{"A","B","C"};
List<string> list2=new List<string>{"=","<", ">"};
List<string> list3=new List<string>{"1","2","3"};

合并成

A=1 AND B<2 AND C>3

1、通过for循环实现

StringBuilder str = new StringBuilder();
for(int i=0; i< list1.count; i++)
{
    str.AppendFormat("{0}{1}{2} AND ", list1[i], list2[i], list3[i]);
}
str.Length = str.Length -5;
string final = str.ToString();

2、使用MoreLINQ实现

MoreLINQ文档:MoreLINQ

var res = string.Join(" AND ", list1.EquiZip(list2, list3, (x, y, z) => x + y + z));

3、使用Enumerable.Range和Select

string b = string.Join(" AND ", Enumerable.Range(0, list1.Count)
.Select(i => $"{list1[i]} {list2[i]} {list3[i]}"));

或者

string.Join(" AND ", list1.Select((e1, idx) => $"{e1} {list2[idx]} {list3[idx]}"));

4、使用Linq中的Zip()方法

string result = string.Join(" AND ", list1.Zip(list2, (l1, l2) => l1 + l2).Zip(list3, (l2, l3) => l2 + l3));


特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。