ВОПРОС · Q&A

Чего выдает левое значение?

AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Решение
C#:
 static void Main() {
    int b;
    string luxery;
    int[] massive = new int[400];
    for (int i=10; i <=100;i++) {
        massive[i] = i;
        luxery = Convert.ToString(massive[i]);
        b =  (int)Char.GetNumericValue(luxery[0]) + (int)Char.GetNumericValue(luxery[1]);
        if ( b == 15) {
            Console.WriteLine(massive[i]);
        }
    }
  }
Автор вопроса
Имею вот такой код: И у меня возник такой вопрос: почему при конвертации в Int32 выходит такая дичь? Ведь по-идее должно быть так: элементу массива по индексу переменной i присвается значение этой переменной i, затем переменной luxery присваивается конвертация значения элемента массива в стринг, и потом обращаясь к отдельным частям этой строки ( переводя перед этим в Int32 ) хочу их суммировать, но выходит какая-то дичь.
 
запусти в отладчике, я думаю что ошибка в строках: luxery = Co.... и b = Co...
 
запусти в отладчике, я думаю что ошибка в строках: luxery = Co.... и b = Co...
Да запускал, брал даже чужие коды ( ну примерно с той же структурой, где надо разбивать число в string на части и их переводить потом в Int32 ), такая же ерунда.
 
Последнее редактирование модератором:
Решение
C#:
 static void Main() {
    int b;
    string luxery;
    int[] massive = new int[400];
    for (int i=10; i <=100;i++) {
        massive[i] = i;
        luxery = Convert.ToString(massive[i]);
        b =  (int)Char.GetNumericValue(luxery[0]) + (int)Char.GetNumericValue(luxery[1]);
        if ( b == 15) {
            Console.WriteLine(massive[i]);
        }
    }
  }