【问题标题】:Ignoring case sensitive in c# [duplicate]在c#中忽略大小写敏感[重复]
【发布时间】:2016-02-12 17:36:39
【问题描述】:

我有 2 个要比较的字符串,但如果我使用大写或小写,我需要避免出现问题。

有什么办法可以做到这一点?

谢谢

这是我的代码:

if (userID >= 0 && fnIndex >= 0 && lnIndex >= 0)
{
for (int i = 1; i < userDataId.Length; i++)
    {
     var userData = userDataId[i].List;
         if (userData[fnIndex].ToString() == "FIRSTNAME1" &&
         userData[lnIndex].ToString() == "LASTNAME1")
         {
            userId = userData[userID].ToString();
            break;
         }
     }
}

【问题讨论】:

  • 在您寻求帮助之前,请始终首先在 Google 上搜索您的问题标题。
  • 查看下面的答案或使用字符串类的.ToLower() 方法。但在这种情况下,下面的答案应该更好
  • @JensHorstmann -- 考虑到要比较的字符串是大写的,您的评论是错误的。
  • @roryap 那么他应该使用.ToUpper()
  • 我用谷歌搜索了它,但没有找到任何具体的东西。 @roryap,感谢您的回复,您的解决方案有效!

标签: c# comparison case-sensitive


【解决方案1】:

您可以(并且应该始终)这样做来比较字符串,而不是使用==

if (userData[fnIndex].ToString().Equals(
    "FIRSTNAME1", StringComparison.CurrentCultureIgnoreCase))

另外,"FIRSTNAME1""LASTNAME1" 应该变成常量。

【讨论】:

  • 谢谢!,成功了。我已将其更改为名字和姓氏,并且两者都有效。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 2016-11-18
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多