一、string.contains方法
string.contains方法是一个用于字符串比较的方法,它能够判断一个字符串是否包含另一个字符串。
string str1 = "hello world";
string str2 = "hello";
bool isContain = str1.Contains(str2);
Console.WriteLine(isContain);
//输出结果:True
在上面的代码中,我们先声明了两个字符串变量:str1和str2,其中str1是一个长字符串,包含了"hello world"这个子字符串;而str2是我们要判断是否包含在str1中的字符串。
接着,我们使用了string.Contains方法对str1和str2这两个字符串进行比较,返回了一个布尔值isContain。最后,在控制台窗口中输出结果。
二、string.contains方法空指针
当我们使用string.contains方法判断一个空字符串时,方法将会直接返回false。
string str1 = "";
string str2 = "hello";
bool isContain = str1.Contains(str2);
Console.WriteLine(isContain);
//输出结果:False
在上述代码中,我们将str1赋值为空字符串,str2为"hello",使用string.Contains方法进行比较。由于str1为空,不包含任何字符串,因此返回了false。
三、string.contains方法原理
实际上,string.Contains方法基于字符串类型的内置Contains方法实现的。该方法返回true如果源字符串中包含指定的字符串。否则该方法返回false。
public bool Contains(string value);
如上代码片段所示,Contains方法将指定的字符串value与源字符串进行比较,如果包含则返回true,不包含则返回false。
四、string.contains方法模糊查询
在某些情况下,我们需要使用string.Contains方法进行字符串的模糊查询。比如,我们有一个包含多个信息的字符串列表,我们想要查询其中包含"apple"的所有字符串。
string[] strArr = {"apple","banana","cherry","grape"};
string searchKey = "apple";
foreach(string str in strArr)
{
if(str.Contains(searchKey))
{
Console.WriteLine(str);
}
}
//输出结果:apple
在上述代码中,我们首先声明了一个包含四个字符串元素的数组strArr,然后声明了一个变量searchKey,赋值为"apple",即我们要查询的字符串。接着,我们使用foreach循环来遍历数组中的元素,使用string.Contains方法判断元素中是否包含我们要查询的字符串searchKey,如果是,则在控制台窗口中输出该字符串。
五、string.contains方法区分大小写
为了提高程序的健壮性,有时候我们需要对string.Contains方法进行区分大小写操作。
string str1 = "Hello world";
string str2 = "hello";
bool isContain = str1.Contains(str2, StringComparison.OrdinalIgnoreCase);
Console.WriteLine(isContain);
//输出结果:True
在上述代码中,我们声明了两个字符串变量,其余部分与第一个小节的示例相同。不同的地方在于,在string.Contains方法中,我们加入了一个StringComparison.OrdinalIgnoreCase参数,来告诉程序在比较字符串时忽略大小写。这样,当我们在str1中寻找包含"hello"的字符串时,由于不区分大小写,会返回true。