C# – Operator cannot be applied to operands of type ‘Method Group’ and ‘int’

arrayscfor-loop

I'm trying to get the number of elements in this string array, but it won't let me take 1 away from Count.

string [] Quantitys = Program.RecieptList[i].ItemQuantitys.Split(new char[] {'*'});
for (int ii = 0; i <= Quantitys.Count - 1; ii++)
{

}

I get an error message stating

Operator '-' cannot be applied to operands of type 'Method Group' and 'Int'.

Whats the proper way to do this?

Best Answer

It should be Length not Count for arrays:

string [] Quantitys = Program.RecieptList[i].ItemQuantitys.Split(new char[] {'*'});
for (int ii = 0; i <= Quantitys.Length - 1; ii++)
{

}

More information on the MSDN: Array.Length

Also, unless it was intentional, your ii should just be i in your for loop:

for (int i = 0; i <= Quantitys.Length - 1; i++)

Although, as was pointed out in the comments below, you could also use the Quantitys.Count(), since arrays inherit from IEnumerable<T>. Personally, though, for one-dimensional arrays, I prefer to use the standard Array.Length property.

Related Topic