【发布时间】:2011-04-19 05:49:30
【问题描述】:
目前我正在使用从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 字符串执行了多次。
编辑
我需要这个做什么? clusters 是一些文档集合的一组集群。文档按主题相似度分组。所以算法的最后一步是发现每个集群的标签。但是算法并不完美,有时它会产生两个或多个具有相同标签的集群。我想做的只是将这些集群合并成一个大集群。
【问题讨论】: