为什么(i < UniqueWords.Count)表达式在for循环中有效,但返回“CS0019运算符'<'不能应用于'int'和'method group'类型的操作数”错误当放在我的if?它们都是先前声明的字符串数组。“<”运算符错误
for (int i = 0;i<UniqueWords.Count;i++){
Occurrences[i] = Words.Where(x => x.Equals(UniqueWords[i])).Count();
Keywords[i] = UniqueWords[i];
if (i<UniqueURLs.Count) {rURLs[i] = UniqueURLs[i];}
}
编辑补充声明:
List<string> Words = new List<string>();
List<string> URLs = new List<string>();
//元素的加入像这样。 。 。 。
Words.Add (referringWords); //these are strings
URLs.Add (referringURL);
UniqueWords = Words.Distinct().ToList();
UniqueURLs = URLs.Distinct().ToList();
已解决。谢谢,方法需要括号.Count()我还不完全理解为什么它们并不总是必需的。
乔恩Skeet,谢谢,我想我不明白什么声明是什么呢?你想要分配的实际值?他们从外部来源拉,但是是字符串。
我明白了!谢谢。 (至少是()。)
不,这仍然不显示UniqueWords或UniqueURL的*声明*。它显示了值的分配位置,而不是声明。 – 2009-07-16 20:42:39
你*应该*了解这里发生了什么真的很重要。请不要只是改变代码,继续前进 - 否则下一次你会感到困惑。 “Count”是IList/List /T []上的一个属性,而“Count()”是在System.Linq.Enumerable中声明的IEnumerable 的扩展方法。 –
2009-07-16 20:45:52