C# 如何不敏感地使用indexOf()大小写?

C# 如何不敏感地使用indexOf()大小写?,c#,asp.net,C#,Asp.net,我有一个字符串列表: List<string> fnColArr = new List<string>(); fnColArr={"Punctuation,period,Space,and,yes"}; 现在,arrayval的值为-1,因为该字符串不在列表中。但这里唯一的区别是小写 我还想找到字符串标点符号,而不管其大小写。您可以使用重载方法 IndexOf("punctuation", StringComparison.OrdinalIgnoreCase); 例如

我有一个字符串列表:

List<string> fnColArr = new List<string>();
fnColArr={"Punctuation,period,Space,and,yes"};
现在,
arrayval
的值为-1,因为该字符串不在列表中。但这里唯一的区别是小写


我还想找到字符串
标点符号
,而不管其大小写。

您可以使用重载方法

IndexOf("punctuation", StringComparison.OrdinalIgnoreCase);
例如

List fnColArr=新列表()
{“标点符号”、“句点”、“空格”、“是”};
foreach(fnColArr中的字符串项)
{
if(item.IndexOf(“标点符号”,StringComparison.OrdinalIgnoreCase)>=0)
{
控制台。写入线(“匹配”);
}
}

或者,您也可以使用lambda函数
fnColArr.FindIndex(x=>x.ToLower().Equals(“标点”)

你必须这样做

List<string> fnColArr = new List<string> {"Punctuation","period","Space","and","yes"};
int arrayval = fnColArr.IndexOf("punctuation",StringComparer.InvariantCultureIgnoreCase);
List fnColArr=新列表{“标点符号”、“句点”、“空格”和“是”};
int arrayval=fnColArr.IndexOf(“标点符号”,StringComparer.InvariantCultureIgnoreCase);

是的,这不是问题,它来自数据库,我只是在这里显示感谢您的回复,但不需要将完全小写转换为字符串
List<string> fnColArr = new List<string>() 
{ "Punctuation", "period", "Space", "and", "yes" };

            foreach (string item in fnColArr)
            {
                if (item.IndexOf("puNctuation", StringComparison.OrdinalIgnoreCase) >= 0)
                {
                    Console.WriteLine("match");

                }
            }
List<string> fnColArr = new List<string> {"Punctuation","period","Space","and","yes"};
int arrayval = fnColArr.IndexOf("punctuation",StringComparer.InvariantCultureIgnoreCase);