亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢索列表變量的值(按

如何檢索列表變量的值(按

C#
慕沐林林 2022-08-20 15:22:40
我正在嘗試按項目ID分組,以便我可以返回總和,但是當我嘗試使用First()返回字段的值時,它只返回一個值。ASP.net c#項目嘗試返回字段的總和時,我使用LINQ的代碼返回正確的數字,但我似乎無法返回相應的字符串字段。我嘗試按2個字段分組,但這會返回太多記錄。public class JobsByDrivetime{private string pid;private double jobMinutes;private string jobEventType;public JobsByDrivetime(string pid, double jobMinutes,string jobEventType){    this.pid = pid;    this.jobMinutes = jobMinutes;    this.jobEventType = jobEventType;}public string Pid{    get { return pid; }    set { pid = value; }}public double JobMinutes{    get { return jobMinutes; }    set { jobMinutes = value; }}public string JobEventType{    get { return jobEventType; }    set { jobEventType = value; }}}List<JobsByDrivetime> ProjectbyDrivetime = new List<JobsByDrivetime>();ProjectbyDrivetime.Add(new JobsByDrivetime("0186975-0001", 439, "HR"));ProjectbyDrivetime.Add(new JobsByDrivetime("0186975-0001", 100, "HR"));ProjectbyDrivetime.Add(new JobsByDrivetime("0186975-0001", 180, "JR"));var projectBydrivetimeList = ProjectbyDrivetime.GroupBy(v => v.Pid) //(c => new { Pid = c.Pid, ProjectType = c.JobEventType }).Select(g => new{    Pid = g.Key,    ProjectMinutes = g.Sum(x => x.JobMinutes),    ProjectType=g.Select(x=> x.JobEventType).First()}).ToList();foreach (var D in projectBydrivetimeList){    shiftSummary.Add("<tr><td>" + D.Pid + "</td><td>" + D.ProjectType + "</td><td>" + D.ProjectMinutes + "</td></tr>");}輸出0186975-0001 HR 5390186975-0001 HR 180它(按項目類型)正確分組項目分鐘,但它僅顯示2個項目類型中的一種。我希望D.ProjectType在第一個是HR,在第二個是JR。我明白這是因為我正在使用First()。
查看完整描述

1 回答

?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

我希望我正確地理解了您的要求。你幾乎按照你的想法來按Pid和ProjectType進行分組。

var projectBydrivetimeList = ProjectbyDrivetime
                             .GroupBy(v => new {v.Pid,v.JobEventType}) 
                             .Select(g => new
                             {
                               Pid = g.Key.Pid,
                               ProjectMinutes = g.Sum(x => x.JobMinutes),
                               ProjectType=g.Select(x=> x.JobEventType).First()
                              }).ToList();

示例輸出

http://img1.sycdn.imooc.com//63008be500018c5702990081.jpg

更新

根據您的評論,另一個示例輸入

在此輸入圖像描述

輸出

在此輸入圖像描述


查看完整回答
反對 回復 2022-08-20
  • 1 回答
  • 0 關注
  • 103 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號