C# 写一个string类的扩展方法,举例说明
时间: 2023-10-19 08:33:40 浏览: 49
好的,下面我以一个字符串中单词首字母大写的方法为例,来说明如何编写一个string类的扩展方法。
```csharp
public static class StringExtensions
{
public static string ToTitleCase(this string str)
{
if (string.IsNullOrEmpty(str))
{
return str;
}
var words = str.Split(' ');
for (int i = 0; i < words.Length; i++)
{
var word = words[i];
if (string.IsNullOrEmpty(word))
{
continue;
}
words[i] = word.Substring(0, 1).ToUpper() + word.Substring(1).ToLower();
}
return string.Join(" ", words);
}
}
```
这个扩展方法将一个字符串中的每个单词的首字母大写,其余字母小写,返回一个新的字符串。使用时,只需要在string实例上调用该方法即可:
```csharp
string str = "hello, world! welcome to C#";
string titleCaseStr = str.ToTitleCase();
Console.WriteLine(titleCaseStr); // 输出:Hello, World! Welcome To C#
```
在这个例子中,我们首先将字符串按照空格分割成单词数组,然后遍历每个单词,将首字母大写,其余字母小写。最后再将单词数组拼接成一个字符串返回。需要注意的是,扩展方法的命名规则是以`this`关键字后面的类型名作为方法名的前缀,以便于调用。