[英]How to perform a query using LINQ that must make one column distinct but includes all information of another column
[英]How to perform sum of all cells in a column in grid using linq
我有一個要求。 喜歡....
Sname Marks Percentage
aa 50 50
aa 60 60
bb 80 80
bb 60 60
在這里我想添加標記並顯示如下所示的百分比
Sname Marks Percentage
aa 50 50
aa 60 60
-----------------
aa 110 55
----------------
bb 80 80
bb 60 60
-----------------
bb 140 70
-----------------
應該使用linq查詢來完成。我正在使用下面的linq查詢,該查詢執行分組以進行顯示。
List<Studentsmarkslist> mrksbrpby = (from n in lstmrks
group n by new { n.StudentName,n.Total,n.Percentage }
into g orderby g.Key.StudentName
select new Studentsmarkslist
{
StudentName = g.Key.StudentName,
Total = g.Key.Total,
Percentage = g.Key.Percentage
}).ToList();
return mrksbrpby
請建議我如何使用此linq查詢執行上述方法的總和和百分比
您想使用.Sum()方法對所有Marks值求和,並使用.Average()獲得平均百分比。
可以通過以下MSDN鏈接找到用法示例:
.Sum()在此處了解更多信息: http : //msdn.microsoft.com/zh-cn/library/bb338442.aspx
.Average()在此處了解更多信息: http : //msdn.microsoft.com/zh-cn/library/bb338413.aspx
您可以按學生姓名對條目列表進行分組。 然后遍歷每個組以顯示:
像這樣:
var groups = from n in lstmrks
group n by n.StudentName;
foreach (var g in groups)
{
foreach (var s in g)
Console.WriteLine("{0}\t{1}\t{2}", s.StudentName, s.Total, s.Percentage);
Console.WriteLine("-----------------");
Console.WriteLine("{0}\t{1}\t{2}", g.Key, g.Sum(x => x.Total), g.Average(x => x.Percentage));
Console.WriteLine("-----------------");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.