C# 数组不允许负索引c
我有以下程序,计算每个doctorial freq条目的文档频率C# 数组不允许负索引c,c#,c#-4.0,C#,C# 4.0,我有以下程序,计算每个doctorial freq条目的文档频率 foreach (var termIndex in freq.Select(entry => GetTermIndex(entry.Key))) { _docFreq[i][termIndex]++; } 以及获取术语索引的过程 riva
foreach (var termIndex in freq.Select(entry => GetTermIndex(entry.Key)))
{
_docFreq[i][termIndex]++;
}
以及获取术语索引的过程
rivate int GetTermIndex(string term)
{
int i;
if (_wordsIndex.TryGetValue(term, out i))
return i;
else
return 0;
}
其中,所有术语都在另一本词典中编入索引
根据上述过程,如果entry.Key in freq不存在,那么GetTermIndex将返回0,这将累加_docFreq _docFreq[i][0],这就是问题所在。
那么,当条目.Key不存在时,我如何避免计数??我试着做一些类似的事情
rivate int GetTermIndex(string term)
{
int i;
if (_wordsIndex.TryGetValue(term, out i))
return i;
else
return -1;
}
当然,错误索引超出了数组的范围,因为没有_docFreq[i][1]的索引
能帮忙吗??非常感谢如果termIndex为-1,请不要计算它:
或者使用LINQ,其中:
如果termIndex为-1,则不要计算它:
或者使用LINQ,其中:
检查函数返回的值:
foreach (var termIndex in freq.Select(entry => GetTermIndex(entry.Key))) {
if (termIndex != -1) {
_docFreq[i][termIndex]++;
}
}
或:
检查函数返回的值:
foreach (var termIndex in freq.Select(entry => GetTermIndex(entry.Key))) {
if (termIndex != -1) {
_docFreq[i][termIndex]++;
}
}
或:
怎么样
foreach (var termIndex in freq.Select(entry => GetTermIndex(entry.Key)).Where(index=>index>=0))
{
_docFreq[i][termIndex]++;
}
怎么样
foreach (var termIndex in freq.Select(entry => GetTermIndex(entry.Key)).Where(index=>index>=0))
{
_docFreq[i][termIndex]++;
}
确保跳过这些无效值:
foreach (var termIndex in freq.Select(entry => GetTermIndex(entry.Key))).Where(x => x >= 0)
{
_docFreq[i][termIndex]++;
}
确保跳过这些无效值:
foreach (var termIndex in freq.Select(entry => GetTermIndex(entry.Key))).Where(x => x >= 0)
{
_docFreq[i][termIndex]++;
}
非常感谢马丁非常感谢马丁非常感谢Rane非常感谢Rane非常感谢Rane