首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#如何像TeXT一样放入“文本”,并且它仍然运行If

C#如何像TeXT一样放入“文本”,并且它仍然运行If
EN

Stack Overflow用户
提问于 2017-02-14 01:09:28
回答 8查看 210关注 0票数 4

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

我这里有一段简单的代码

代码语言:javascript
运行
复制
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

谢谢!

EN

回答 8

Stack Overflow用户

发布于 2017-02-14 01:14:33

你应该把Contains改成Equals,否则像Noel这样的名字会输出"Fine don't put your name in“

代码语言:javascript
运行
复制
if(name.Equals("no", StringComparison.CurrentCultureIgnoreCase))
{

}
票数 13
EN

Stack Overflow用户

发布于 2017-02-14 01:11:29

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

代码语言:javascript
运行
复制
if (name.ToLower().Contains("no"))

但是你为什么不喜欢“蒂诺”或者“诺拉”这样的名字呢?最好比较整个字符串,而不是只检查它是否包含"no":

代码语言:javascript
运行
复制
if (name.Equals("no", StringComparison.InvariantCultureIgnoreCase))
票数 7
EN

Stack Overflow用户

发布于 2017-02-14 01:11:24

只需使用name.ToLower()方法,它将使文本全部小写。因此,当您与"no“或"yes”进行比较时,您不必担心输入的大小写敏感性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42209647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档