你好,我有這樣的問題,我有這樣的班級:
class numberOne<
{
public long ID {get; set; }
public string Name {get; set; }
public string Names {get; set; }
}
class numberTwo; set; }
{
public long[] ID {get; set; }
public string Name{get; set; }
}
它們將被列在后面。
因此,讓我們說,這些串列的資料是這樣的
List<numberOne> numberOne = new List<numberOne> ();
numberOne.Add(new numberOne() { ID = 1234 }) 。
numberOne.Add(new numberOne() { ID = 1334 }) 。
numberOne.Add(new numberOne() { ID = 1434 }) 。
numberOne.Add(new numberOne() { ID = 1568 }) 。
List<numberTwo> numberTwo = new List<numberTwo>()。
numberTwo.Add(new numberTwo() { ID[] = 1234,1334 Name = "Sam" });
numberTwo.Add(new numberTwo() { ID[] = 1434, Name = "paul" }) 。
numberTwo.Add(new numberTwo() { ID[] = 1434, Name = "john" }) 。
numberTwo.Add(new numberTwo() { ID[] = 1568, Name = "john" }) 。
我需要像這樣顯示資料:
我需要像這樣顯示資料。
ID | Name | Names
1234|sam |sam
1334|sam |sam |sam
1434|paul |paul, john
1434|john |paul, john
1568|john |john
到目前為止,我有這樣的代碼:
foreach(var items in numberOne.ToList()
{
items.Name = numberTwo.Where(a => a.ID.Any(b => b == items.ID)).Select(a => a.Name).Distinct()。
items.Names = string.Join(",", numberTwo.Where(a => a.ID.Any(b => b == items.ID)).Select(a => a.Name).Distinct)。
在這一行"items.Name = numberTwo.Where(a => a.ID.Any(b => b == items.ID)).Select(a => a.Name).Distinct();" 是我收到錯誤CS0029的地方
uj5u.com熱心網友回復:
試試這個
。
foreach (var items in numberOne.ToList()
{
items.Name = numberTwo.Where(a => a.ID.Any(b => b == items.ID)).Select(a => a.Name)
.Distinct().FirstOrDefault()。
items.Names = string.Join(", ", numberTwo.Select(a => a.Name).Distinct().ToList())。
}
修復numberTwo初始化后
List<numberTwo> numberTwo = new List< numberTwo> ();
numberTwo. Add(new numberTwo() { ID = new long[] { 1234 }, Name = "Sam" }) 。
numberTwo. Add(new numberTwo() { ID = new long[] { 1334 }, Name = "paul" }) ;
numberTwo. Add(new numberTwo() { ID = new long[] { 1434 }, Name = "john" }) ;
numberTwo. Add(new numberTwo() { ID = new long[] { 1568 }, Name = "john" }) 。
uj5u.com熱心網友回復:
Name是一個字串,你將一個IEnumerable<string>傳遞給一個字串。
你應該把你的代碼改為:
foreach (var items in numberOne.ToList()
{
items.Name = string.Join(",", numberTwo.Where(a => a.ID.Any(b => b == items.ID)).Select(a => a.Name).Distinct())。)
items.Names = string.Join(",", numberTwo.Where(a => a.ID.Any(b => b == items.ID)).Select(a => a.Name).Distinct())。
}
最后你的代碼應該是這樣的:
List<numberOne> numberOne = new List< numberOne> ();
numberOne.Add(new numberOne() { ID = 1234 }) 。
numberOne.Add(new numberOne() { ID = 1334 }) 。
numberOne.Add(new numberOne() { ID = 1434 }) 。
numberOne.Add(new numberOne() { ID = 1568 }) 。
List<numberTwo> numberTwo = new List<numberTwo>()。
numberTwo. Add(new numberTwo() { ID = new long[] { 1234, 1334 }, Name = "Sam" })。
numberTwo. Add(new numberTwo() { ID = new long[] { 1434 }, Name = "paul" }) ;
numberTwo. Add(new numberTwo() { ID = new long[] { 1434 }, Name = "john" }) ;
numberTwo. Add(new numberTwo() { ID = new long[] { 1568 }, Name = "john" }) ;
foreach (var items in numberOne.ToList()
{
items.Name = string.Join(",", numberTwo.Where(a => a.ID.Any(b => b == items.ID)).Select(a => a.Name))。
items.Names = string.Join(",", numberTwo.Where(a => a.ID.Any(b => b == items.ID)) .Select(a => a.Name))。
Console.Write(items.ID " ")。
Console.Write(items.Name " ")。
Console.WriteLine(items.Names)。
}
結果:
1234 sam sam
1334 sam sam
1434 paul,john paul,john
1568 john john
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/310047.html
標籤:
