c# - c#需要帮助将if语句与char数组结合起来
问题描述
我是 C# 的绝对初学者,最近尝试创建自己的待办事项列表作为控制台应用程序。所以我想做的是让用户可以选择'a''e'或'd',并认为我可以在if语句中使用它。
这是我走了多远:
static void Main(string[] args)
{
Console.WriteLine(" To-Do-List");
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("Task capacity is 10");
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("[a] Add Task");
Console.WriteLine("[e] Edit Task");
Console.WriteLine("[d] Delete Task");
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("select action");
char[] userAction = { 'a', 'e', 'd', };
if (userAction[0])
{
}
}
当我尝试userAction
在 if 条件中实现变量时,它告诉我它不能转换为布尔值,因为我对语法并不十分自信,而且我不知道这是否是正确的方法 - 我必须使用其他东西而不是if语句?我希望程序做出反应,例如,如果用户按下“a”类似的东西Console.WriteLine("choose a name for your task");
解决方案
以下是一些可以让您的生活更轻松的方法:
public static string AskString(string question){
Console.WriteLine(question);
return Console.ReadLine();
}
public static char AskChar(string question, char[] validChars){
string input = AskString(question);
while(input.Length == 0 || (validChars != null && !validChars.Contains(input[0])))
input = AskString(question);
return input[0];
}
public static int AskInt(string question, int[] validInts){
string input = AskString(question);
while(input.Length == 0 || !int.TryParse(input, out int res) || (validInts != null && !validInts.Contains(res)))
input = AskString(question);
return int.Parse(input);
}
现在您可以在程序中使用它们:
string name = AskString("How old are you?");
int age = AskInt("What age are you?", null);
int choice = AskInt("Choose 1, 2 or 3?", new[]{1,2,3});
char choice2 = AskChar("Choose A, B or C (case sensitive)?", "ABC".ToCharArray());
if(choice == 1 || choice2 = 'B')
...
推荐阅读
- scala - 如何使用输入字符串计数?
- javascript - 在对象的嵌套数组的数组中复制数据
- python-3.x - python 下面的每个部分都是必须实现的函数,确保函数的名称和参数与文档匹配(复制粘贴)
- excel - excel根据当天查找行
- sql - 过滤器如何影响sql中的LEFT JOIN
- karate - 使用 post soap 服务的更大数据加载过程的空手道框架
- scala - 如何使用scala play json阅读器解析key是可变的json?
- python - Python合并列表间隔
- r - R函数不返回修改后的数据表
- javascript - 如何在使用 AnimatePresence 包装的 Next.js 页面中导航并滚动到具有 ID 的元素