Nat*_*han 6 c# arrays for-loop
我正在尝试获取此字符串数组中的元素数量,但它不会让我离开1 Count.
string [] Quantitys = Program.RecieptList[i].ItemQuantitys.Split(new char[] {'*'});
for (int ii = 0; i <= Quantitys.Count - 1; ii++)
{
}
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息说明
运算符' - '不能应用于'Method Group'和'Int'类型的操作数.
什么是正确的方法来做到这一点?
val*_*rij 18
它应该Length不适Count用于数组:
string [] Quantitys = Program.RecieptList[i].ItemQuantitys.Split(new char[] {'*'});
for (int ii = 0; i <= Quantitys.Length - 1; ii++)
{
}
Run Code Online (Sandbox Code Playgroud)
有关MSDN的更多信息:Array.Length
此外,除非是故意的,否则你ii应该i在你的for循环中:
for (int i = 0; i <= Quantitys.Length - 1; i++)
Run Code Online (Sandbox Code Playgroud)
虽然,正如下面的评论中指出的那样,你也可以使用 Quantitys.Count(),因为数组继承自IEnumerable<T>.但就个人而言,我个人更喜欢使用标准Array.Length属性.
数组有一个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++)
{
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21763 次 |
| 最近记录: |