我有一本关于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);
}
在If部分,如果你输入"no“,显然它会运行(”好吧,不要把你的名字放进去“),但如果你把"no”写成"No“、"NO”、"nO“,它就不会运行了。有一个像name.Contains这样的代码,不管你如何放置文本,它都会运行它。
像SmallBasic一样,Text.ConvertToLowerCase会将文本转换为小写,然后运行IF
谢谢!
发布于 2017-02-14 01:14:33
你应该把Contains
改成Equals
,否则像Noel这样的名字会输出"Fine don't put your name in“
if(name.Equals("no", StringComparison.CurrentCultureIgnoreCase))
{
}
发布于 2017-02-14 01:11:29
您可以将输入转换为小写字符:
if (name.ToLower().Contains("no"))
但是你为什么不喜欢“蒂诺”或者“诺拉”这样的名字呢?最好比较整个字符串,而不是只检查它是否包含"no":
if (name.Equals("no", StringComparison.InvariantCultureIgnoreCase))
发布于 2017-02-14 01:11:24
只需使用name.ToLower()方法,它将使文本全部小写。因此,当您与"no“或"yes”进行比较时,您不必担心输入的大小写敏感性。
https://stackoverflow.com/questions/42209647
复制相似问题