C#如何能够像TeXT一样放置"文本",它仍然运行If

For*_*uck 4 c# string console if-statement

我有一本关于C#的书(CSharp)我只知道一点点,但我正在做Console.Writeline的东西

我这里有这个简单的代码

Console.WriteLine("Please enter your name");

string name = Console.ReadLine();
if (name.Contains("no"))
{
    Console.WriteLine("\nFine, don't put your name in");
}
else
{
    Console.WriteLine("\nHello, " + name);
}
Run Code Online (Sandbox Code Playgroud)

在If部分如果你把"no"显然运行("\n精细,不要把你的名字放在"中),但如果你把"no"改为"No""NO""nO"它就不存在像name.Contains这样的代码无论如何放置它运行它的文本并不重要

像SmallBasic Text.ConvertToLowerCase会将您的文本转换为小写,然后运行IF

谢谢!

Jai*_*ias 13

您应该更改ContainsEquals,如果没有一个像诺埃尔名称将输出"精不把你的名字"

if(name.Equals("no", StringComparison.CurrentCultureIgnoreCase))
{

}
Run Code Online (Sandbox Code Playgroud)


Ren*_*ogt 7

您可以将输入转换为小写字符:

if (name.ToLower().Contains("no"))
Run Code Online (Sandbox Code Playgroud)

但是你为什么不喜欢"Tino"或"Nora"这样的名字呢?更好地比较整个字符串而不仅仅是检查它是否包含"否":

if (name.Equals("no", StringComparison.InvariantCultureIgnoreCase))
Run Code Online (Sandbox Code Playgroud)