使用索引,局部变量和类

时间:2019-08-28 03:25:57

标签: c# indexing

在下面的代码中,我正在尝试对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);
            }
    }
}

1 个答案:

答案 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...