将返回的用户输入添加到字符串列表
Add returned user input to list of strings
我正在开发一个使用不同方法获取用户输入的项目,我想将用户输入添加到列表中。
我的代码如下所示:
public string GetValidName()
{
Console.WriteLine("Let's get you registered!");
Console.WriteLine("Enter your full name: ");
string input = Console.ReadLine();
bool validString = false;
while (validString != true)
{
if (String.IsNullOrEmpty(input))
{
Console.WriteLine("Not a valid input.");
validString = false;
}
else
{
validString = true;
}
}
return input;
}
列表存在于同一个class中,声明为public List<string> students = new();
我已经试过 return students.Add(input);
但那是不可能的并且给出了错误
Cannot implicitly convert type 'void' to 'string'
Edit 这个方法是通过这个方法调用的,经过编辑修改,现在看起来像这样;
public void Register()
{
students.Add(GetValidName());
}
要打印列表中的所有项目,我使用这段代码:
public void AttendenceList()
{
Students list = new();
Console.WriteLine("All students attending class today:\r\n");
foreach (var item in list.students)
{
Console.WriteLine(item);
}
}
当 foreach 循环运行时,它只打印 Console.WriteLine,而不是列表中的任何项目。
如果你这样做 Students list = new();
你初始化你的列表不要那样做。
就像在 class 中定义的学生列表一样,您可以这样写:
public void AttendenceList()
{
Console.WriteLine("All students attending class today:\r\n");
foreach (var item in students)
{
Console.WriteLine(item);
}
}
我正在开发一个使用不同方法获取用户输入的项目,我想将用户输入添加到列表中。
我的代码如下所示:
public string GetValidName()
{
Console.WriteLine("Let's get you registered!");
Console.WriteLine("Enter your full name: ");
string input = Console.ReadLine();
bool validString = false;
while (validString != true)
{
if (String.IsNullOrEmpty(input))
{
Console.WriteLine("Not a valid input.");
validString = false;
}
else
{
validString = true;
}
}
return input;
}
列表存在于同一个class中,声明为public List<string> students = new();
我已经试过 return students.Add(input);
但那是不可能的并且给出了错误
Cannot implicitly convert type 'void' to 'string'
Edit 这个方法是通过这个方法调用的,经过编辑修改,现在看起来像这样;
public void Register()
{
students.Add(GetValidName());
}
要打印列表中的所有项目,我使用这段代码:
public void AttendenceList()
{
Students list = new();
Console.WriteLine("All students attending class today:\r\n");
foreach (var item in list.students)
{
Console.WriteLine(item);
}
}
当 foreach 循环运行时,它只打印 Console.WriteLine,而不是列表中的任何项目。
如果你这样做 Students list = new();
你初始化你的列表不要那样做。
就像在 class 中定义的学生列表一样,您可以这样写:
public void AttendenceList()
{
Console.WriteLine("All students attending class today:\r\n");
foreach (var item in students)
{
Console.WriteLine(item);
}
}