调用一个获取并返回字符串的用户方法,就像在c#中调用.net中的大多数字符串类方法一样



我一直在尝试做一个"字符串清理过程"的方法。并希望像使用简单的string.Trim()string.Normalize()那样使用它。

public string ToFriendlyDOSNameString(string input)
{
Regex whitespaces = new Regex(".*?([ ]{2,})");
input = input.Normalize().Replace("\", " ").Replace("/", " ").Replace(""", " ")
.Replace("*", " ").Replace(":", " ").Replace("?", " ")
.Replace("<", " ").Replace(">", " ").Replace("|", " ")
.Replace("!", " ").Replace(".", " ").Replace("'", " ").Trim();
string clone = input;
foreach (Match match in whitespaces.Matches(input))
{
clone = clone.Replace(match.Groups[1].Value, " ");
}
input = clone;
return input;
}

我正在寻找一种方法来使用这个方法如下:

string example = "Some Random Text";
example = example.ToFriendlyDOSNameString();

作为参考,我目前在一个控制台应用程序上使用这个方法,这个方法被放置在"主方法"的正下方,我不确切地知道我应该在哪里放置一个方法来让它具有我想要的行为…

您的扩展方法中缺少一些东西:

  • 方法需要为static;
  • string参数应使用this关键字。

例子:

public static class StringExtensions
{
public static string ToFriendlyDosNameString(this string input)
{
// Your logic.
}
}

更多信息:

扩展方法(c#编程指南)

public static class Utilities {
public static string ToFriendlyDOSName(this string str) {
str = "new friendly value";
// modify the value according to your logic
return str;
}
}

那么你可以像刚才提到的那样使用

string myName = "unfriendly name";
myName.ToFriendlyDOSName();

相关内容

  • 没有找到相关文章

最新更新