2013-12-18 37 views
0

我有以下類:查詢字典特定類成員C#

using System; 
using System.Collections.Generic; 

namespace ddd 
{ 
    public class FPSData 
    { 
     private double minFPS; 
     private double maxFPS; 
     private double averageFPS; 

     #region Properties 

     public double MinFPS 
     { 
      get { return minFPS; } 
      set { minFPS = value; } 
     } 
     public double MaxFPS 
     { 
      get { return maxFPS; } 
      set { maxFPS = value; } 
     } 
     public double AverageFPS 
     { 
      get { return averageFPS; } 
      set { averageFPS = value; } 
     } 

     #endregion Properties 

     public FPSData(double min, double max, double avg) 
     { 
      minFPS = min; 
      maxFPS = max; 
      averageFPS = avg; 
     } 
    } 
} 

在我的主要功能,我聲明瞭以下內容:

class Program 
{ 
    static void Main(string[] args) 
    { 
     Dictionary<uint, FPSData> trying = new Dictionary<uint, FPSData>(); 

     FPSData m1 = new FPSData(1, 2, 3); 
     FPSData m2 = new FPSData(4, 5, 6); 
     FPSData m3 = new FPSData(7, 8, 9); 

     trying.Add(101, m1); 
     trying.Add(102, m2); 
     trying.Add(103, m3); 

     Console.WriteLine("sdfgh"); 
    } 
} 

我試圖得到一本字典(Dictionary<uint, doubule>),比方說,只有最小值。

含義,我的字典將具備以下條件:

101, 1 
102, 4 
103, 7 

我試過的LINQ許多變化,但只是無法得到它的權利。可能嗎?

+2

+1'Console.WriteLine( 「sdfgh」);' – RononDex

回答

4

使用.ToDictionary()(MSDN Documentation)

var minimumValues = trying.ToDictionary(k => k.Key, v => v.Value.MinFPS); 
2
Dictionary<uint, double> result = trying.ToDictionary(x=>x.Key,x=>x.Value.MinFPS); 
1

這樣做:

Dictionary<uint, double> minimumFPS = trying.ToDictionary(k => k.Key, v => v.Value.MinFPS); 
+0

-1因爲你顯然複製Chritos'用'Dictionaty'回答。您至少可以在粘貼之前修復拼寫錯誤。 – gleng

+0

pff是的,肯定...... -.-查克·諾里斯會回合踢你這個:P – RononDex

+0

@gleng答案是在1分鐘內彼此,他可能仍然鍵入時,你都張貼(也克里斯托的代碼是錯誤的他從不聲明一個變量(直到他剛剛編輯)) –