繁体   English   中英

C#If语句,多个条件

[英]C# If statement, multiple conditions

我在C#中创建一个平均程序,只是为了确保获得数组。

我想做的是询问用户是否要对整数或非整数取平均值。 我认为If语句将是适当的。

但是问题是,我不知道在MULTIPLE条件下使用哪种运算符,我认为最好通过查看代码来解释。 (即使我现在也很困惑,D :)

Console.WriteLine("\n Do you want to average whole numbers, or non-whole numbers? \n");

        if (Console.ReadLine() == "whole numbers" && Console.ReadLine() == "Whole numbers")
        {

            Console.WriteLine("You chose whole numbers.");

        }

我的困惑出现在“ Condition”和&“ Condition2”位。 我不知道&&是否是正确的运算符,而C#肯定不这么认为!

我看过C#MSDN操作员列表,但无法真正理解使用哪个。

PS:我要执行多种条件的全部原因是因为大写字母ETC,如果你们中的任何一个知道如何通过忽略上限和其他容易出错的用户滴答声的方式来解决这一问题,请告诉我:D

Console.ReadLine从控制台读取输入。 当用户按下Enter键时,它将返回一个字符串。 在您的代码中,如果第一个条件为真,它将要求用户两次输入一些内容。 因此,另一个是多余的。因为您使用了&&运算符,它是条件AND运算符,但是必须使用条件OR语句( || )。 因此,您有两种选择:

在第一种情况下,您可以检查尽可能多的条件。 但是,这些当然是多余的。 您可以使用第二种方法不区分大小写地比较输入的字符串和whole numbers

 if (string.Equals(Console.ReadLine(), "whole numbers", StringComparison.CurrentCultureIgnoreCase))
 {
       Console.WriteLine("You chose whole numbers.");
 }

可以考虑使用String.ToLower()方法将字符串转换为小写形式,而不是对大写形式的每个变化进行测试。 基本上,通过调用此方法,用于调用该方法的字符串将转换为所有小写字母。 通过使用此选项,您可以通过大写字母减少程序失败的可能性。

例:

string UserDecision = (Console.ReadLine()).ToLower();

if(UserDecision == "whole numbers")
{ // perform task }

在我的示例中,我使用Console.ReadLine()获取用户的输入,然后在将其存储到变量之前立即将其转换为小写。 这样可以更轻松地比较字符串。

对于使用哪个运算符:

|| is the OR operator (ONLY ONE condition must be true)
&& is the AND operator (BOTH conditions must be true)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM