关于比较:忽略c#中的区分大小写

Ignoring case sensitive in c#

本问题已经有最佳答案,请猛点这里访问。

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

有什么办法可以做到吗?

谢谢

以下是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
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;
         }
     }
}


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

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

另外,"FIRSTNAME1""LASTNAME1"也应被制成常数。