В настоящее время я использую пользовательский класс, полученный из HashSet
.В коде есть момент, когда я выбираю элементы при определенных условиях:
var c = clusters.Where(x => x.Label != null && x.Label.Equals(someLabel));
Он работает нормально, и я получаю эти элементы.Но есть ли способ получить индекс этого элемента в коллекции для использования с методом ElementAt
вместо целых объектов?
Это будет выглядеть примерно так:
var c = select element index in collection under certain condition;
int index = c.ElementAt(0); //get first index
clusters.ElementAt(index).RunObjectMthod();
Является ли ручная итерация по всей коллекции лучшим способом?Мне нужно добавить, что он находится в большем цикле, поэтому это предложение Where
выполняется несколько раз для различных someLabel
строк.
Edit
Что мне нужноэто для?clusters
- это набор кластеров некоторой коллекции документов.Документы сгруппированы в кластеры по сходству тем.Поэтому одним из последних шагов алгоритма является обнаружение метки для каждого кластера.Но алгоритм не идеален, и иногда он создает два или более кластеров с одинаковой меткой.Я хочу просто объединить эти кластеры в один большой.