控制台写线

时间:2019-05-24 10:57:11

标签: c# console-application console.writeline console.readline

我想为正数设置为true,为负数设置为false,然后为0再次尝试

尝试了if语句,但我仍处于起步阶段

using System;

namespace First_Application
{
    class Program
    {
        static void Main(string[] args)
        {
            string inputData = Console.ReadLine();
            Boolean a = Convert.ToBoolean(inputData);
            Console.WriteLine();
        }
    }
}

我希望true表示肯定,false表示否定,然后重试为0

2 个答案:

答案 0 :(得分:1)

您可以从bool?(可为null的布尔值)开始,并在没有值的情况下继续循环。然后,您要求用户输入内容,尝试将其设为数字​​(我假设为int),并设置该值是否大于或小于0:

bool? value = null;
while (!value.HasValue)
{
    Console.WriteLine("Enter a number");
    string inputData = Console.ReadLine();
    if (int.TryParse(inputData, out var userInputNum))
    {
        if (userInputNum > 0) value = true;
        else if (userInputNum < 0) value = false;
    }
}
Console.WriteLine(value.Value);

答案 1 :(得分:0)

除了上面@Jamiec的答案

这是另一种可以给您相同结果的方法

  static void Main(string[] args)
    {
        var value = 0;
        while (value == 0)
        {
            value = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine((value != 0 ? (value > 0 ? "true" : "false") : "try again"));
        }
    }