IEqualityComparer и singleton

Мне было интересно, есть ли возможность использовать singleton в качестве comparerObject, например, в Distinct ??

Допустим, у меня есть список элементов, и мне нужно использовать отдельную функцию в этом списке. Обычно я бы сделал это таким образом

var result  = list.Distinct(new ListElementComparer);

ListElementComparer - это класс, реализующий интерфейс IEqualityComparer.

Мне было интересно, есть ли возможность использовать singleton в качестве comparerObject, например, в Distinct ??

Допустим, у меня есть список элементов, и мне нужно использовать отдельную функцию в этом списке. Обычно я бы сделал это таким образом

var result  = list.Distinct(new ListElementComparer);

ListElementComparer - это класс, реализующий интерфейс IEqualityComparer.

Мне было интересно, есть ли возможность использовать singleton в качестве comparerObject, например, в Distinct ??

Допустим, у меня есть список элементов, и мне нужно использовать отдельную функцию в этом списке. Обычно я бы сделал это таким образом

var result  = list.Distinct(new ListElementComparer);

ListElementComparer - это класс, реализующий интерфейс IEqualityComparer. Однако давайте предположим, что я буду использовать упомянутый выше код довольно часто, например, таким образом.

List<List<Element>> elementList = new List<List<Elements>>();
List<List<Element>> resultList  new List<List<Element>>();

foreach(var element in elementList )
   resultList.AddRange(element.Distinct(new ListElementComparer() )  );

Таким образом, вы можете создавать объект ListElementComparer довольно много раз. В этом случае есть ли смысл использовать одиночный объект для создания ListElementComparer на каждой итерации? Будет ли работать отдельный метод, если я использую синглтон ??

6
задан Ruben Bartelink 12 April 2011 в 18:58
поделиться