在 C# 中向字符串数组添加值
Adding values to a string array in C#
我正在制作日历。在这里,我想将成员添加到我的会议中。在我想按回车键添加的每个名字之后。当我按下时,例如 X 我想离开 "add member" 过程并转到下一步,例如 "adding a meeting title".
如何向我的阵列添加成员?输入完姓名后如何进入下一步?此代码无效:
Console.Write("Enter members here: ");
memberList = Console.ReadLine();
string[] memberList;
假设用户输入以下内容:"Jake, Julia, Craig"
string[] memberlist = Console.ReadLine().Split(',');
最终你需要 .Trim() 在每个名字上逗号后的空格原因。
编辑:"multiline" 解决方案请查看@Jeff Bridgman post。
您需要使用条件循环来完成此操作,while
循环会很好用。
此外,在这种情况下使用 List<string>
会更好,因为您 (i) 需要向其中添加内容,并且 (ii) 您第一次不知道要创建多大的数组声明它,因为您不知道用户将输入多少个名字。
类似于:
var names = new List<string>();
var input = Console.ReadLine();
while (input.ToUpper() != "X")
{
names.Add(input);
input = Console.ReadLine();
}
foreach (var name in names)
{
Console.WriteLine(name);
}
如果您希望在用户按下 X 后立即进入下一步(而无需他们按下 Enter) ,你可以考虑使用 Console.ReadKey
但它会更复杂,因为你必须一次收集一个字符来获取名称并检查他们按下的键是否是 Enter,在这种情况下,您将转到下一个名称。当 "X" 只是某人姓名的一部分时,known 也很复杂,例如Xavier,或者是否打算继续下一步。
我正在制作日历。在这里,我想将成员添加到我的会议中。在我想按回车键添加的每个名字之后。当我按下时,例如 X 我想离开 "add member" 过程并转到下一步,例如 "adding a meeting title".
如何向我的阵列添加成员?输入完姓名后如何进入下一步?此代码无效:
Console.Write("Enter members here: ");
memberList = Console.ReadLine();
string[] memberList;
假设用户输入以下内容:"Jake, Julia, Craig"
string[] memberlist = Console.ReadLine().Split(',');
最终你需要 .Trim() 在每个名字上逗号后的空格原因。
编辑:"multiline" 解决方案请查看@Jeff Bridgman post。
您需要使用条件循环来完成此操作,while
循环会很好用。
此外,在这种情况下使用 List<string>
会更好,因为您 (i) 需要向其中添加内容,并且 (ii) 您第一次不知道要创建多大的数组声明它,因为您不知道用户将输入多少个名字。
类似于:
var names = new List<string>();
var input = Console.ReadLine();
while (input.ToUpper() != "X")
{
names.Add(input);
input = Console.ReadLine();
}
foreach (var name in names)
{
Console.WriteLine(name);
}
如果您希望在用户按下 X 后立即进入下一步(而无需他们按下 Enter) ,你可以考虑使用 Console.ReadKey
但它会更复杂,因为你必须一次收集一个字符来获取名称并检查他们按下的键是否是 Enter,在这种情况下,您将转到下一个名称。当 "X" 只是某人姓名的一部分时,known 也很复杂,例如Xavier,或者是否打算继续下一步。