簡體   English   中英

在Linq Query的最終結果中獲取圓角值

[英]Getting Rounded Values in the final result of Linq Query

如何修改下面的linq查詢,以便我可以得到一個圓形的數值。

                 var result=GetStudentsWithTheirMarks()                
                .OrderByDescending(x => Math.Round(x.PercentageScore)).Take(5)                 
                .OrderBy(x => x.PercentageScore);

請忽略兩個ord​​er by子句的存在,因為這樣做是出於某種目的。 GetStudentsWithThierMarks返回帶有FirstName和PercentageScore的學生列表。 我相信上面的查詢Math.Round僅適用於在操作順序期間,因此最終結果仍包含小數位的值,而我只想看到帶有整數值的舍入數字。 我只是無法弄清楚語法。

你只需要一個Select

var result= GetStudentsWithTheirMarks()                
            .OrderByDescending(x => Math.Round(x.PercentageScore))
            .Take(5)                 
            .OrderBy(x => x.PercentageScore)
            .Select(x => Math.Round(x.PercentageScore));

您可以將此值存儲為匿名類型:

var result = GetStudentsWithTheirMarks()    
  .Select(s => new 
  { 
      Student = s, 
      RoundedPercentageScore = Math.Round(s.PercentageScore) 
  })          
  .OrderByDescending(x => x.RoundedPercentageScore )
  .Take(5)                 
  .OrderBy(x => x.Student.PercentageScore);

現在您可以通過以下方式訪問它:

foreach(var x in result)
    Console.WriteLine("RoundedPercentageScore: " x.RoundedPercentageScore);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM