C# IndexOf()和Contains()的区别

首先,我们先介绍IndexOf()方法和Contains()方法的作用,它们都是判断字符串中是否包含指定字符串

相同点:

IndexOf()方法和Contains()都区分大小写

不同点:

1、不区分大小写:

IndexOf()方法有一个内置参数StringComparison.OrdinalIgnoreCase可以设置不区分大小写

string str1="Abc";
string str2="abc";
str1.IndexOf(str2,StringComparison.OrdinalIgnoreCase);

Contains()方法只能先将字符串全部转换成大写或小写才能实现不区分大小写

string str1="Abc";
string str2="abc";
str1.ToUpper().Contains(str2.ToUpper());

2、匹配效率:

在区分大小写的情况下,Contains()方法效率会比IndexOf()方法效率高

在不区分大小写的情况下,IndexOf()方法效率会比Contains()方法效率高

3、返回值类型:

IndexOf()方法有包含指定字符串返回最开始出现的下标,下标从0开始,没有包含则返回-1。

Contains()方法有包含指定字符串返回true,不包含返回false。

发布了34 篇原创文章 · 获赞 1 · 访问量 1947

猜你喜欢

转载自blog.csdn.net/qq_38974638/article/details/103695192