Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110

Не работает переменная имеющая нулевое значение

09.07.2023, 07:54. Показов 4009. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
            Console.WriteLine("Hollo, World!");
            Console.WriteLine("Запиши Фамилию Имя Отчество");
            var t=Console.ReadLine();
            string[] d=t.Split(' ');
            Console.WriteLine("Здравствуй, d[1]. Приветствуем тебя!");
C# в Ubuntu. Создал консольное приложение. Возникает ошибка при string[] d=t.Split(' '). Пишет
переменная t может иметь значение null. Как правильно написать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.07.2023, 07:54
Ответы с готовыми решениями:

Какое значение примет переменная после выполнения фрагмента алгоритма, если переменная а имела значение 'ИНФОРМАТИКА'
Имеется фрагмент алгоритма, записанный на алгоритмическом языке: m := 10 b := Извлечь(а, m) нц для k от 4 до 5 с := Извлечь(а,...

Какое значение примет переменная i после выполнения этого фрагмента алгоритма, если переменная а имела заданное значение
Доброго времени суток. Не могу решить задание оно приведено ниже, из-за перевода с английского на русский не понимаю какую функцию здесь...

Нулевое значение массива заменить элементом, значение которого ближе к индексу этого элемента
Дан массив. Нулевое значение массива заменить элементом, значение которого ближе к индексу этого элемента.

50
 Аватар для Andrey-MSK
3386 / 2272 / 388
Регистрация: 14.08.2018
Сообщений: 7,690
Записей в блоге: 4
11.07.2023, 16:35
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от all_angarsk Посмотреть сообщение
а вот использование string[] d=t?.Split(' ') ?? new string[]; я найти не могу даже в книге Прайс Марк. C# 10 и .NET 6.
А документацию по языку не пробовали читать?
?? И?? = операторы — операторы объединения со значением NULL
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,171
Записей в блоге: 2
11.07.2023, 18:22
Цитата Сообщение от all_angarsk Посмотреть сообщение
вот использование string[] d=t?.Split(' ') ?? new string[];
Я бы не советовал в данном случае эту строку.
Концептуально здесь null ошибка должна разрешаться при получении ввода, а не при попытке его обработки.
Как в моём примере, например:
C#
1
string t = Console.ReadLine() ?? string.Empty; // Замена null на пустую строку
P.S. Так же не советую использовать var, кроме случаев где точно известен и понятен тип переменной.
Например, вот так var p = new Point(...);. В вашем же коде вы ожидаете от ReadLine(...) возврата string, а он возвращает string?. Если бы вы не использовали var, то сразу бы сами поняли истоки ошибки.
1
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
11.07.2023, 18:50  [ТС]
Да, очень хорошо работает. Я нашел решение через var и выводилось успешно что получал от ReadLine().
Как только попытался что-то изменить и обработать возникла проблема. Спасибо на помощь
Миниатюры
Не работает переменная имеющая нулевое значение  
0
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
11.07.2023, 18:56  [ТС]
Andrey-MSK. А документацию по языку не пробовали читать? Я больше пользовался учебниками и сайтами как metanit.com. Не хватает времени и навыков работы с документацией
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,171
Записей в блоге: 2
11.07.2023, 19:46
Цитата Сообщение от all_angarsk Посмотреть сообщение
Andrey-MSK. А документацию по языку не пробовали читать?
Ну так, он же ссылки на документацию и даёт.

Добавлено через 29 секунд
по интерфейсу Форума: При обращении к другому пользователю указывайте его ник в тегах [NICK][/NICK] или цитируйте часть сообщения на которое отвечаете.
В противном случае ему не придёт уведомление о вашем обращении и вы можете не дождаться ответа на своё сообщение.

Для вставки ника: введите ник, выделите его и нажмите кнопку "Динамик" на панели редактора сообщений.
Или кликните по нику автора сообщения в панели слева от текста его сообщения.

Для вставки цитаты: выделите нужную цитату, должна появиться всплывающая кнопка "Цитировать", нажмите её.
0
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
11.07.2023, 19:49  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Ну так, он же ссылки на документацию и даёт
Это сейчас изучаю записал
Миниатюры
Не работает переменная имеющая нулевое значение  
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,171
Записей в блоге: 2
11.07.2023, 19:54
Цитата Сообщение от all_angarsk Посмотреть сообщение
Это сейчас изучаю записал
Одно из типичных использований:
C#
1
2
private RelayCommand _someCommand;
public RelayCommand SomeCommand =>  _someCommand ??= new RelayCommand(...);
0
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
11.07.2023, 19:57  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
private RelayCommand _someCommand;
public RelayCommand SomeCommand =>  _someCommand ??= new RelayCommand(...);
попробую использовать в задание
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
11.07.2023, 21:25

Не по теме:

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Так же не советую использовать var, кроме случаев где точно известен и понятен тип переменной.
Ну, т.е. 99% кода? XD



Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от Элд Хасп Посмотреть сообщение
В вашем же коде вы ожидаете от ReadLine(...) возврата string, а он возвращает string?. Если бы вы не использовали var, то сразу бы сами поняли истоки ошибки.
докину -- var таки будет итрепритироватся как string?. При условии что это новая версия .net, где в целом допускается '?' для ссылочных переменных.



Добавлено через 17 минут
Цитата Сообщение от all_angarsk Посмотреть сообщение
попробую использовать в задание
ужс... На всякий: наверное стоит ознакомится со всеми возможностями, структурировать по "когда и за чем стоит изучать", и только потом на фоне этого городить задачки для несчастных студентов.

Более того: возможно стоит изначально очень урезать количество сахарка (новых фич языка), а учить только главному, а новые возможности по версиям отгружать уже после. Просто мне очень сложно представить насколько быстро человек, только что узнавший о существовании string, поймет например на кой эта запись

C#
1
2
3
4
5
6
7
8
9
10
11
12
const string Name = "name";
const string Age = "age";
 
string name = "Neko";
int age = 16;
 
var jsonResponse = $$"""
{
    {{Name}} : "{{name}}",
    {{Age}} : "{{age}}"
}
""";
0
 Аватар для Andrey-MSK
3386 / 2272 / 388
Регистрация: 14.08.2018
Сообщений: 7,690
Записей в блоге: 4
12.07.2023, 08:19
Цитата Сообщение от Wolfdp Посмотреть сообщение
поймет например на кой эта запись

Не по теме:

Я нифига не понял... Пошел читать доки...


0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,171
Записей в блоге: 2
12.07.2023, 11:20
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Пошел читать доки...
Это из 11-го Шарпа.
1
 Аватар для Andrey-MSK
3386 / 2272 / 388
Регистрация: 14.08.2018
Сообщений: 7,690
Записей в блоге: 4
12.07.2023, 11:45
Wolfdp, Элд Хасп, Нашел
Необработанные строковые литералы
2
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,236
12.07.2023, 16:06
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Необработанные строковые литералы
Етить, сырые строки. Нерафинированные еще бы перевел.
0
12.07.2023, 16:29

Не по теме:

Цитата Сообщение от IamRain Посмотреть сообщение
Етить, сырые строки. Нерафинированные еще бы перевел.
Холодного отжима

0
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
29.07.2023, 22:15  [ТС]
Цитата Сообщение от Wolfdp Посмотреть сообщение
Более того: возможно стоит изначально очень урезать количество сахарка (новых фич языка), а учить только главному, а новые возможности по версиям отгружать уже после. Просто мне очень сложно представить насколько быстро человек, только что узнавший о существовании string, поймет например на кой эта запись
Замечания принимаю. Очень большое спасибо за помощь. Сейчас в отпуске пытаюсь выполнить программирование на Ubuntu, так как российское ПО - основа Linux. Личная инициатива. В программах подготовки этого материала нет. Вот и получается "пещерный век". Все только говорят переходите. Но как? Я преподаватель. Дайте учебник! Где электронные учебники? Сейчас пытаюсь за методиста работать, т.е. создать учебник с действующим примером. Времени разобраться нет. Все собираю по крупицам. Хотя можно просидеть и без этого. Желаю готовить, чтобы не переучивались.

Добавлено через 28 минут
Забыл спросить. "Новые возможности C# 11". Как с этим совместить "Учебник. Создание приложения с математическим тестом" на Ubuntu.
Вопрос: Возможно создание приложения на Linux? Или использовать другой язык?
0
Эксперт .NET
 Аватар для Rius
13405 / 7858 / 1701
Регистрация: 25.05.2015
Сообщений: 23,870
Записей в блоге: 14
29.07.2023, 22:18
all_angarsk, а что это за учебник?
На линукс возможно: консольное приложение, веб-приложение, десктопное на авалонии.
0
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
29.07.2023, 22:20  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
десктопное на авалонии
Я бесполезно искал в нете. Спасибо.
0
Эксперт .NET
 Аватар для Rius
13405 / 7858 / 1701
Регистрация: 25.05.2015
Сообщений: 23,870
Записей в блоге: 14
29.07.2023, 22:21
Что искал?
0
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
29.07.2023, 22:25  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Что искал?
как на Windows
1) Консольное
2) десктопное
3) ASP

Ubuntu
1) Консольное
3) ASP
0
Эксперт .NET
 Аватар для Rius
13405 / 7858 / 1701
Регистрация: 25.05.2015
Сообщений: 23,870
Записей в блоге: 14
29.07.2023, 22:27
Десктопные:
https://github.com/AvaloniaUI/Avalonia
И всякие gtk#.

Но официально от Microsoft только консоль и веб, да.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2023, 22:27

Определить, в какой координатной четверти x нулевое, y нулевое
определить в какой координатной четверти x нулевое, y нулевое

Нулевое значение.
Исходные данные: - есть Textbox1 - есть кнопка cmb1 - есть база данных access Задача: - при нажатии на кнопку значение...

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

Нулевое значение инпута
Ничего не работает, хочу что бы кнопка отключалась, если инпуты пустые - никак. var author = jQuery.trim($('#author').attr('value')); ...

Запрос и нулевое значение
Доброго времени суток. Поля таблицы - Код; Дата; Действие; Количество ........... Поле Действие имеет только два значения...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru