#c# #.net #boolean
#c# #.net #логическое
Вопрос:
Я привел пример ввода имени и фамилии. Почему присвоенная переменная «EmptyInput» не распознает, что она используется, даже если я добавил значение false и true? Я не знаю, как называется зеленая волнистая линия внизу.
using System.Collections.Generic;
using System;
using System.Threading;
namespace MyLogbook
{
public static class Program
{
class PInfo
{
public string FirstName;
public string LastName;
}
public static void Main(string[] args)
{
Console.WriteLine("tWelcome to your new logbook!");
Console.WriteLine("tPlease enter your first and last name.n");
PInfo pInfo = new PInfo();
bool EmptyInput;
do
{
Console.Write("tFirst name: ");
pInfo.FirstName = Console.ReadLine();
Console.Write("tLast name: ");
pInfo.LastName = Console.ReadLine();
if (!string.IsNullOrEmpty(pInfo.FirstName pInfo.LastName))
{
Console.WriteLine("ntHi, " pInfo.FirstName " " pInfo.LastName ".n");
EmptyInput = false;
}
else
{
Console.Write("ntEmpty input, please try again.nn");
EmptyInput = true;
}
} while (string.IsNullOrEmpty(pInfo.FirstName pInfo.LastName));
}
}
}
Комментарии:
1. Когда вы наводите курсор на эту зеленую «волнистую», может быть, это говорит о том, что вы присваиваете значения, но никогда их не используете? Зеленый — это предупреждение, ошибка (например, «неназначенная») будет красной.
Ответ №1:
Может быть, вы хотите это сделать
} while (EmptyInput);
вместо
} while (string.IsNullOrEmpty(pInfo.FirstName pInfo.LastName));
потому что вы просто присваиваете значение переменной, но никогда не используете ее