0
说我有以下BitArray combinedResults = searchBitArray.And(genreBitArray);从位阵列获取正位指数
其中包含了积极位即100100110000
我怎样才能得到所有的积极因素的指标?
说我有以下BitArray combinedResults = searchBitArray.And(genreBitArray);从位阵列获取正位指数
其中包含了积极位即100100110000
我怎样才能得到所有的积极因素的指标?
这里有一个第一,决然贫民区,破解它:
BitArray ba = new BitArray(new bool[] {true,false,false,true,false,false,true,true,false,false,false,false});
List<int> pos = new List<int>();
for (int i = 0; i < ba.Length; i++)
{
if (ba[i])
pos.Add(i);
}
这将使你含0,3,6,7列表您可以在ba.Length开始 - 1和减下来如果您需要从右向左阅读,则为零。
编辑:包在一个扩展方法,只是因为:
void Main()
{
BitArray ba = new BitArray(new bool[] {true,false,false,true,false,false,true,true,false,false,false,false});
List<int> positives = ba.GetBitPositions(true);
List<int> negatives = ba.GetBitPositions(false);
}
public static class BitArrayExtensions
{
public static List<int> GetBitPositions(this BitArray ba, bool MatchCondition)
{
List<int> pos = new List<int>();
for (int i = 0; i < ba.Length; i++)
{
if (ba[i] == MatchCondition)
pos.Add(i);
}
return pos;
}
}
很酷,工作很好,谢谢你的 – StevieB 2011-04-13 15:53:49
怎么办以后需要使用该位的位置?你能给出一个你想看到的结果类型的例子,以及给出所提供的数组,你会用它做什么? – 2011-04-13 15:20:41
基本上我想找到正位的所有索引,因为这些提供索引到我有的搜索索引(Lucene.NET)。基本上,我想在屏幕上显示所有积极的指标,因为这些是搜索结果 – StevieB 2011-04-13 15:25:22
那么你想要回来?列表? –
2011-04-13 15:28:30