如果你按原样运行,所有 4 个都是真的。
string Message = "No need of validation";
Console.WriteLine("1 : {0}", Message.IndexOf("No need of validation", StringComparison.CurrentCultureIgnoreCase));
Message = "No need of validation for certain members only";
Console.WriteLine("2 : {0}", Message.IndexOf("No need of validation", StringComparison.CurrentCultureIgnoreCase));
Message = "Validation for this member - No need of validation";
Console.WriteLine("3 : {0}", Message.IndexOf("No need of validation", StringComparison.CurrentCultureIgnoreCase));
Message = "no need of validation";
Console.WriteLine("4 : {0}", Message.IndexOf("No need of validation", StringComparison.CurrentCultureIgnoreCase));
这是因为忽略大小写,“比较”字符串存在于您的每个消息字符串中的某个位置,因此索引将始终为 0 或更高。
如果你想比较字符串是否相等而不考虑大小写,那么你应该使用字符串比较来代替:
Message = "No need of validation";
Console.WriteLine("1 : {0}", string.Compare(Message,"No need of validation", true));
Message = "No need of validation for certain members only";
Console.WriteLine("2 : {0}", string.Compare(Message, "No need of validation", true));
Message = "Validation for this member - No need of validation";
Console.WriteLine("3 : {0}", string.Compare(Message, "No need of validation", true));
Message = "no need of validation";
Console.WriteLine("4 : {0}", string.Compare(Message, "No need of validation", true));
这会给你想要的结果。