Top.Mail.Ru
Ответы

Как исправить ошибку в 61 строке "Possible null reference return"?

Язык программирования: C#
Задание звучит так:
Написать программу, которая из имеющегося массива строк формирует новый массив из строк, длина которых меньше, либо равна 3 символам. Первоначальный массив можно ввести с клавиатуры, либо задать на старте выполнения алгоритма. При решении не рекомендуется пользоваться коллекциями, лучше обойтись исключительно массивами.

Примеры:
[“Hello”, “2”, “world”, “:-)”] → [“2”, “:-)”]
[“1234”, “1567”, “-2”, “computer science”] → [“-2”]
[“Russia”, “Denmark”, “Kazan”] → []

Сам код:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
 // [“Rice”, “Chicken”, “Noodles”, “Pizza”] 
// [“Поспать”, “Полежать”, “Посидеть”, “Постоять”] 
// [“Тут”, “Три”, “Слова”] 
 
Commands(); 
string[] array = new string[] {}; 
 
string fromUser = ReadInput("Введите команду: "); 
switch (fromUser) 
{ 
    case "1": 
        array = new string[] { "Rice", "Chicken", "Noodles", "Pizza" }; 
        break; 
    case "2": 
        array = new string[] { "Поспать", "Полежать", "Посидеть", "Постоять" }; 
        break; 
    case "3": 
        array = new string[] { "Тут", "Три", "Слова" }; 
        break; 
    default: 
        Console.WriteLine($"{fromUser} - От 1 до 3, дружище."); 
        break; 
} 
 
 
 
int lenNewArray = 0; 
for (int i = 0; i <= array.Length - 1; i++) 
{ 
    if (array[i].Length <= 3) lenNewArray++; 
} 
 
string[] newArray = new string[lenNewArray]; 
int idx = 0; 
 
for (int i = 0; i <= array.Length - 1; i++) 
{ 
    if (array[i].Length <= 3) 
    { 
        newArray[idx] = array[i]; 
        idx++; 
    } 
} 
 
PrintArray(array); 
Console.Write("→ "); 
PrintArray(newArray); 
 
void Commands() 
{ 
    Console.WriteLine(); 
    Console.WriteLine("1: [“Rice”, “Chicken”, “Noodles”, “Pizza”]"); 
    Console.WriteLine("2: [“Поспать”, “Полежать”, “Посидеть”, “Постоять”]"); 
    Console.WriteLine("3: [“Тут”, “Три”, “Слова”]"); 
    Console.WriteLine(); 
} 
 
string ReadInput(string msg) 
{ 
    Console.Write(msg); 
    return Console.ReadLine();  !ошибка тут!
} 
 
void PrintArray(string[] array) 
{ 
    Console.Write("[ "); 
    for (int i = 0; i < array.Length; i++) 
    { 
        Console.Write($"“{array[i]}”, "); 
    } 
    Console.Write("] "); 
} 
По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект

Это не ошибка, просто предупреждение. В рамках своей задачи можешь его проигнорировать.

>При решении не рекомендуется пользоваться коллекциями, лучше обойтись исключительно массивами.
Офигеть! А ничего, что массив - это тоже коллекция?

Аватар пользователя
Ученик

Перезагрузи компьютер