我正在尝试获取此字符串数组中的元素数,但它不会让我从Count
.
string [] Quantitys = Program.RecieptList[i].ItemQuantitys.Split(new char[] {'*'});
for (int ii = 0; i <= Quantitys.Count - 1; ii++)
{
}
我收到一条错误消息说明
运算符“-”不能应用于“方法组”和“整数”类型的操作数。
这样做的正确方法是什么?
Length
它不应该Count
用于数组:
string [] Quantitys = Program.RecieptList[i].ItemQuantitys.Split(new char[] {'*'});
for (int ii = 0; i <= Quantitys.Length - 1; ii++)
{
}
有关 MSDN 的更多信息:Array.Length
此外,除非它是故意的,否则你ii
应该只是i
在你的for
循环中:
for (int i = 0; i <= Quantitys.Length - 1; i++)
虽然,正如下面评论中所指出的,您也可以使用 Quantitys.Count()
, 因为数组继承自IEnumerable<T>
. 不过,就个人而言,对于一维数组,我更喜欢使用标准Array.Length
属性。
只需添加括号()。Count() 现在也适用于我
数组有一个Length
属性,而不是一个Count
属性,尽管它们做同样的事情。您看到的错误是因为Count()
它找到了一个扩展方法,但由于您没有使用()
. 您可以使用您的数组作为IList<T>
替代,以便您可以保留熟悉的Count
属性名称。
此外,i
并且ii
会让大多数人感到困惑(包括您自己,从外观上看:您将两者都包含在您的for
行中)。从数学继承而来的编程标准是i
, j
, k
, ... 用于索引变量名称。这将起作用:
IList<string> Quantitys = Program.RecieptList[i].ItemQuantitys.Split(new char[] {'*'});
for (int j = 0; j <= Quantitys.Count - 1; j++)
{
}