在下面的代码中,我正在尝试对item.Number使用索引
看来我无法像这样比较if (item.Number[index] == decimalNumbers[j])
并收到错误“ c#无法将[]的索引应用于类型为'int'的表达式”
如果有人可以引导我朝正确的方向发展。 另外,代码也不是完整的代码。我只想了解原因。
public class NumberWithDifference
{
public int Number { get; set; }
public static int[] decimalNumbers = new int[10]{0,1,2,3,4,5,6,7,8,9};
foreach (var item in jagged.Items)
{
i = true;
int index = 0;
var a = item.Number;
for (int j = 0; j < decimalNumbers.Length; j++)
{
if (item.Number[index] == decimalNumbers[j])
{
Console.Write(decimalNumbers[j]);
i = false;
if (index < item.Number.Length - 1)
index++;
}
else
{
Console.Write(0);
}
}
}
答案 0 :(得分:2)
错误消息指出,item.Number是一个整数。索引可以应用于数组或整数列表,但不能应用于单个int值。
因此,下面的代码
if (item.Number[index] == decimalNumbers[j])
应该是
if (item.Number == decimalNumbers[j])
假设锯齿状的是NumberWithDifference的数组,则也可以执行以下操作:
for (int j = 0; j < decimalNumbers.Length; j++)
{
if (jagged[index].Number == decimalNumbers[j])
{
etc...