运算符不能应用于类型为“方法组”和“int”的操作数
本文关键字:int 操作数 方法组 方法 应用于 不能 类型 运算符 | 更新日期: 2023-09-27 18:36:37
我试图获取这个字符串数组中的元素数量,但它不会让我从Count
中拿走 1 个。
string [] Quantitys = Program.RecieptList[i].ItemQuantitys.Split(new char[] {'*'});
for (int ii = 0; i <= Quantitys.Count - 1; ii++)
{
}
我收到一条错误消息,指出
运算符"-"不能应用于类型为"方法组"和"Int"的操作数。
正确的方法是什么?
对于
数组,应该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++)
{
}
对我来说,
我添加了列表然后它的工作
以前:
@model warehouse.Models.DEPARTMENTS
后
@model List<warehouse.Models.DEPARTMENTS>`
然后 for 循环:
@for (int i = 0; i < Model.Count(); i++)
{
<tr>
</tr>
}