0

以下のコードを使用して、重複しない値をルックアップ編集に入れようとしていますが、変数uniqueは常にnullであり、どこに問題があるのか​​ わかりません。

何か助けてください。

List<VueItemItemUnit> liste = ObjReservation.LoadAllFamilles();
var unique =
      from element in liste
      group element by element.FA_CODE into Group
      where Group.Count() == 1
      select Group.Key;

lookUpFamille.Properties.DataSource = unique;
4

2 に答える 2

0

次のアプローチを使用することをお勧めします。

lookUpFamille.Properties.DataSource = list.DistinctBy(e => e.FA_CODE).ToList();
//...
// DistinctBy<T,TKey> extension
static class EnumerableHelper {
    public static IEnumerable<T> DistinctBy<T, TKey>(this IEnumerable<T> source, Func<T, TKey> keySelector) {
        return source.Distinct(new EqualityComparer<T, TKey>(keySelector));
    }
    class EqualityComparer<T, TKey> : IEqualityComparer<T> {
        readonly Func<T, TKey> keySelector;
        public EqualityComparer(Func<T, TKey> keySelector) {
            this.keySelector = keySelector;
        }
        bool IEqualityComparer<T>.Equals(T x, T y) {
            return Equals(keySelector(x), keySelector(y));
        }
        int IEqualityComparer<T>.GetHashCode(T obj) {
            return keySelector(obj).GetHashCode();
        }
    }
}
于 2013-06-13T10:21:15.577 に答える