我想把這兩個串列連接在一起,共同的關鍵是日期,但無論我怎么嘗試都沒有用,有什么建議嗎?
類:
public class item_mod
{
[JsonProperty(PropertyName = "item.price")]
public string price { get; set; }
[JsonProperty(PropertyName="item.name")]
public string name { get; set; }
[JsonProperty(PropertyName = "@modify_stamp")/span>]
public string stamp { get; set; }
[JsonProperty(PropertyName = "$trans")]
public string trans { get; set; }
[JsonProperty(PropertyName = "trans.date")/span>]
public string date { get; set; }
}
public class trans_modDataMember] [DataMember]。
public string refer { get; set; }
[DataMember]。
public string date { get; set; }
[DataMember]
public string time { get; set; }
[DataMember]。
public string location { get; set; }
[DataMember]。
public int points { get; set; }
[DataMember]。
public string _total { get; set; }
[DataMember]
public string _discount { get; set; }
[JsonProperty(PropertyName = "$position")]
public string position { get; set; }
[JsonProperty(PropertyName = "@modify_stamp")/span>]
public string stamp { get; set; }
[JsonProperty(PropertyName = "$trans")]
public string trans { get; set; }
串列。 (我把它們分組,日期是關鍵)
var q1 = it.GroupBy(x => x.date)
.Select(g => new
{
Date = g.Key,
.Details = g.Select(x => new ?
{
姓名 = x.name,
價格 = x.price,
Trans = x.trans,
})
.ToList()
})
.ToList();
var q2 = t.GroupBy(x => x.date)
.Select(g => new
{
Date = g.Key,
.Details = g.Select(x => new ?
{
地點 = x.location,
Points = x.points,
Pos = x.position,
時間 = x.time,
折扣 = x._discount,
總數 = x._total,
Trans = x.trans,
Ref = x.refer
})
.ToList()
});
我想在一個組連接中把這兩個合并起來--有什么建議嗎?
到目前為止,我所嘗試的是:
var query = from trans in q2
join item in q1 on q2 equals q1.Date into gj
select new { Date = q2.Date, Item = gj };
=>不作業回傳空白
var mergedList = q1.union(q2).ToList();
=>也不作業。
感謝任何幫助,我也注意到我對面向物件的編程非常陌生,我只是想弄清楚如何做事情!
uj5u.com熱心網友回復:
你可以通過SelectMany進行合并
var query = q2.SelectMany(x =>
q1.Where(z => z.Date == x.Date)
.Select(z => new
{
Date=z.Date。
q1Details = z.Details,
q2Details= x.Details
})
).ToList()。
uj5u.com熱心網友回復:
var myvar = from a in it
join b in t on a.date equals b.date
select new { a.date, a.price, b.name, b.refer };
或者:
var myvar = from a in it
join b in t on a.date equals b.date
select new { a.date, details= new {a.price, b.name, b.refer}. };
或者,如果你有多個相同的dates的條目,并且想通過date來分組:
var myvar = from a in it
join b in t on a.date equals b.date
group new {a, b} by new {a.date}. into g
select new { a.date, deatils = g.ToL?st() };
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/310117.html
標籤:
