合并列表中的值 [英] Merging values in list
问题描述
我创建了一个列表如下:
I have created a list as below:
列表 < string>
templist = new
List < string>
string 。 添加 ( new
< span lang ="EN-IN"style ="background:rgb(239,240,241); color:#101094; font-family:Consolas; font-size:10pt"> string (){ 名称 = "crank
arm" ,
PartId = 1234 ,
地址 =
"" ,city =
"" });
string.Add(new string() {Name="crank arm", PartId=1234, Address = " ",city = " "});
string 。 添加 ( new
< span lang ="EN-IN"style ="background:rgb(239,240,241); color:#101094; font-family:Consolas; font-size:10pt"> string (){
Name = " crank
arm" ,
PartId =
"" , 地址
= "纽约" ,city
= "" });
string.Add(new string() { Name="crank arm", PartId = " ",Address = "New York",city = " " });
字符串 。 添加 ( 新
string (){
名称 = "crank arm" ,
PartId =
"" ,
地址 =
"" ,city =
" USA" });
string.Add(new string() { Name="crank arm", PartId = " ", Address = " ",city = "USA"});
我需要将所有三条记录合并为一条记录并存储在同一个列表中。
I need to merge all the three records into a single record and store it in the same list.
必需输出:
" crank arm","1234","New York","USA"
推荐答案
再次,
public class Record
{
public string Name;
public string PartId;
public string Address;
public string City;
}
var templist = new List<Record>
{ new Record { Name = "crank arm", PartId = "1234", Address = " ", City = " " },
new Record { Name = "crank arm", PartId = " ", Address = "New York", City = " " },
new Record { Name = "crank arm", PartId = " ", Address = " ", City = "USA" }
};
var mergedByName = from element in templist
group element by element.Name into g
select new Record
{
Name = g.Key,
PartId = g.Max(e => e.PartId),
Address = g.Max(e => e.Address),
City = g.Max(e => e.City)
};
templist.AddRange(mergedByName);
foreach (var record in templist)
Console.WriteLine(
" {record.Name},{record.PartId},{record .Address},{record.City}");
"{record.Name},{record.PartId},{record.Address},{record.City}");
这篇关于合并列表中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!