2010-10-15 26 views
3

鮮明我有一個類結構:上的特定字段

class MyEx{ 
public int Prop1; 
public int Prop2; 
public int Prop3 
} 

PROP1和支柱2始終是相同的,Prop3變化。 這個班我想從一個較長的結束檢索應該像

select new MyEx { Prop1=something; 
        Prop2= something2; 
        Prop3=something3; 
} 

問題是something3不是唯一的,所以我想申請一個清晰到THW查詢,以獲得上述類具有不同的Prop3值。 但這似乎並不奏效。 任何想法爲什麼? 感謝

+0

「這似乎不工作」 - *什麼*似乎不工作?你沒有說過你嘗試過什麼,或者結果如何。 – 2010-10-15 10:48:38

+0

此外,你的許多問題還不清楚,例如「我想從更長的末端檢索應該是類似的東西」沒有任何意義。請閱讀http://tinyurl.com/so-hints – 2010-10-15 10:50:15

回答

4

有點像呢?

public static class SomeHelperClass 
{ 
    public static IEnumerable<TSource> DistinctBy<TSource, TValue>(
     this IEnumerable<TSource> source, Func<TSource,TValue> selector) 
    { 
     var hashset = new HashSet<TValue>(); 
     foreach (var item in source) 
     { 
      var value = selector(item); 
      if (hashset.Add(value)) yield return item; 
     } 
    } 
} 

則:

var distinct = list.DistinctBy(item => item.Prop3);