如果 (Integer Console.Readline "" or null) 不起作用

在搜索和搜索(你知道它是怎么回事)之后,我无法弄清楚为什么这段代码不起作用。


我只是想让它像这样工作


if (Nummer == "") {

    Console.WriteLine("0");

}

就是这样,它不起作用。我已经找了一个半小时了。不明白为什么有一个简单的基本解释。我只找到了如何用字符串或其他东西修复它,然后我尝试转换它,但它仍然不起作用。有人能帮助我吗?


感谢您对我有限的知识的耐心。谢谢你的时间


static void Main(string[] args)

{

    bool herhaal = true;


    do

    {                

        Console.Write("Geef een getal : ");

        int Nummer = Convert.ToInt16(Console.ReadLine());           


        if (Console.ReadLine() == "" && Console.ReadLine() == null)

        {

            Console.WriteLine("0");

        }


        double kw = Math.Pow(Nummer, 2);


        Console.WriteLine("Kwadraat van {0} is: {1}", Nummer, kw + Environment.NewLine);

    } while (herhaal);

}


狐的传说
浏览 183回答 3
3回答

弑天下

static void Main(string[] args){    int Nummer;    bool herhaal = true;    do    {                        Console.Write("Geef een getal : ");                  //only read from the Console ONCE per loop iteration, and always read to a string first        string input = Console.ReadLine();         //TryParse better than Convert for converting strings to integers        if (!int.TryParse(input, out Nummer))                {            Console.WriteLine("0");        }        else  //only do the second part if the conversion worked        {            double kw = Math.Pow(Nummer, 2);            Console.WriteLine("Kwadraat van {0} is: {1}\n", Nummer, kw);        }    } while (herhaal);}要从 WinForms 应用程序执行此操作,如评论中所尝试:private void button1_Click(object sender, EventArgs e){    double aantalgroep;    if (!double.TryParse(textBox1.Text, out aantalgroep))            {        textBox1.Text = "0";    }    else     {        double kw = Math.Pow(aantalgroep, 2);        textBox1.Text = String.Format("Kwadraat van {0} is: {1}", aantalgroep, kw);    }}

翻阅古今

根据 C# 文档,Console.ReadLine执行以下操作从标准输入流中读取下一行字符。这意味着每次调用时Console.ReadLine,都会从控制台读取一个新行。从我在你的代码中看到的,这不是你想要的行为。要解决您的问题,您应该将 的结果存储Console.ReadLine在一个变量中并使用该变量而不是 ReadLine 方法。
打开App,查看更多内容
随时随地看视频慕课网APP