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
您应该更改Contains到Equals,如果没有一个像诺埃尔名称将输出"精不把你的名字"
if(name.Equals("no", StringComparison.CurrentCultureIgnoreCase))
{
}
Run Code Online (Sandbox Code Playgroud)
您可以将输入转换为小写字符:
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)