Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/40: Рейтинг темы: голосов - 40, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
1
.NET 4.x

List<string> Значение не может быть неопределенным

22.10.2019, 23:18. Показов 7141. Ответов 6

Author24 — интернет-сервис помощи студентам
Не могу понять, как правильно взаимодействовать со списком, предполагаю, что я его как-то не так инициализирую. Ибо в отладчике service все время стоит со значением null.
При любом обращении к списку в программе выдает "Значение не может быть неопределенным".
Кстати, если вместо service.ElementAt(0) писать service[0] выдает немного иную ошибку "Ссылка на объект не указывает на экземпляр объекта". Разве я не могу обращаться к списку как к массиву?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public partial class Form1 : Form
    {
        public List<string> service;
        public Form1()
        {
            InitializeComponent();
            List<string> service = new List<string>() { "C", "CALL", "CHARACTER", "DIMENSION", "END", "FUNCTION", "GOTO", "IF", "INTEGER", "PROGRAM", "REAL", "STOP", "SUBROUTINE" };
        }
 private void buttonStep_Click(object sender, EventArgs e)
        {
            MessageBox.Show(service.ElementAt(0));
        }
   }
Заранее благодарю за любую помощь!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2019, 23:18
Ответы с готовыми решениями:

Внешняя сортировка и ошибка "Значение не может быть неопределенным. Имя параметра: String"
Вот сама программа внешняя сортировка. Ошибка: Значение не может быть неопределенным. Имя...

Значение не может быть неопределенным
Здравствуйте. Подскажите пожалуйста, что может означать эта ошибка? Имя члена: Boolean...

Значение не может быть неопределенным
Программка которая считывает данные из файла (у меня случайный набор символов среди которых...

Значение не может быть неопределенным
Здравствуйте. Проблема такая: Вылазит исключение System.ArgumentNullException: &quot;Значение не может...

6
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
22.10.2019, 23:20 2
Лучший ответ Сообщение было отмечено DioxiT как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public partial class Form1 : Form
    {
        public List<string> service;
        public Form1()
        {
            InitializeComponent();
            service = new List<string>() { "C", "CALL", "CHARACTER", "DIMENSION", "END", "FUNCTION", "GOTO", "IF", "INTEGER", "PROGRAM", "REAL", "STOP", "SUBROUTINE" };
        }
 private void buttonStep_Click(object sender, EventArgs e)
        {
            MessageBox.Show(service.ElementAt(0));
        }
   }
1
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
22.10.2019, 23:28  [ТС] 3
Спасибо большое. Ответ оказался прямо на поверхности)
Но все же, я не понимаю, почему тот способ объявления не работает, ведь его же используют даже в документации от майкрософт:
C#
1
2
// Create a list of parts.
        List<Part> parts = new List<Part>();
Что-то я не догоняю...
0
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
22.10.2019, 23:34 4
DioxiT, Ссылку можете скинуть на документацию?
0
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 32
22.10.2019, 23:35  [ТС] 5
https://docs.microsoft.com/ru-... etcore-3.0
0
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
22.10.2019, 23:38 6
DioxiT, смотрите, в документации лист создается в методе, а не в классе через конструктор.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Program
    {
        public static void Main()
        {
            List<int> test = new List<int>();//в методе
 
            Console.ReadKey(true);
        }
    }
 
    public class Test
    {
        public List<int> test;
        public Test()
        {
            test = new List<int>();//в классе через конструктор
        }
    }
1
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
23.10.2019, 01:47 7
Arthur Progy,
Цитата Сообщение от Arthur Progy Посмотреть сообщение
DioxiT, смотрите, в документации лист создается в методе, а не в классе через конструктор.
и что?
вот кусок его кода
Цитата Сообщение от DioxiT Посмотреть сообщение
C#
1
2
3
4
5
6
public List<string> service;
* * * * public Form1()
* * * * {
* * * * * * InitializeComponent();
* * * * * * List<string> service = new List<string>() { "C", "CALL", "CHARACTER", "DIMENSION", "END", "FUNCTION", "GOTO", "IF", "INTEGER", "PROGRAM", "REAL", "STOP", "SUBROUTINE" };
* * * * }
он создал глобальный service и поэтому может к нему обращаться из других методов(и вызывать ошибки)
а в конструкторе он создал локальную переменную service и ей присвоил элементы
глобальная переменная пустая
0
23.10.2019, 01:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.10.2019, 01:47
Помогаю со студенческими работами здесь

Значение не может быть неопределенным
Добрый день Подскажите как исправить ошибку Код: static void Extract(string Куда_извлекать,...

Значение не может быть неопределенным text
private void timer1_Tick(object sender, EventArgs e) if (Clipboard.ContainsText()) { ...

"Значение не может быть неопределенным" при обработке пустой строки
Есть вот такая проблема и я не знаю как это решить using System; using...

Как достать значение из List<List<string>>
Есть JSON в котором лист в листе using System; using Newtonsoft.Json; using...

Из XML считывать ключ/значение в List<string, string>
Привет, друзья. Помогите разобраться. Ничего полезного в интернете не нашел.. Нужно из XML попарно...

Значение не может быть неопределенным
Здравствуйте! Пытаюсь отправить письмa по Email Вот функция формирования и отправки! ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru