[英]C# utility class for to make the first letter upper case and trim an input string
我的目标是“消毒字符串”。
该类应该这样做:
你能告诉我:
将PARAMETER用于类似这样的方法是否有意义:CapitalizeFirstLetterTrim(string x)
当我初始化一个对象时,我需要编写很多类似下面的代码,还有其他方法可以缩短它吗?
UserInputSanitizer myInput = new UserInputSanitizer(); myInput.Input = " ciao world"; string ouput = myInput.CapitalizeFirstLetterTrim();
有用的资源http://msdn.microsoft.com/en-us/library/bb311042.aspx
-----------班级
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebProject.Core.Utilities
{
public class UserInputSanitizer
{
// Backing variables
private string _input;
// Properties
public string Input
{
set { _input = value; }
}
private string _output;
// Backing variables
// Properties
public string Output
{
get { return _output; }
}
public string CapitalizeFirstLetterTrim()
{
// Trim
_input.Trim();
// Make First letter UpperCase and the rest levae lower case
_output = _input.Substring(0, 1).ToUpper() + _input.Substring(1);
return Output;
}
}
}
我想我会在字符串上创建扩展方法 :
public static class MyStringExtensions{
public static string Sanitize(this string input)
{
if(input == null) throw new ArgumentNullException("input");
var trimmed = input.Trim();
return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(trimmed);
}
}
您将这样调用方法:
var s = " Unsanitized ";
var sanitized = s.Sanitize();
我将对字符串类使用扩展方法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WebProject.Core.Utilities
{
public static class StringExtensions
{
public static string Sanitize(this string s)
{
//your code to sanitize your string, for example
if(s == null) throw new ArgumentNullException("s");
var trimmed = input.Trim();
return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(trimmed);
}
}
}
然后,您可以使用:
string s = " UnsanitizedString";
s = s.Sanitize();
我将类和方法设为静态
namespace WebProject.Core.Utilities
{
public static class UserInputSanitizer
{
public static string CapitalizeFirstLetterTrim(string input)
{
// Trim
input.Trim();
// Make First letter UpperCase and the rest levae lower case
return input.Substring(0, 1).ToUpper() + input.Substring(1);
}
}
}
然后您可以这样称呼它:
string ouput = UserInputSanitizer.CapitalizeFirstLetterTrim(" ciao world");
将其作为string
的扩展方法来编写,可能比使用实用程序类更直观,因此您可以直接从文字中调用它。 开销少得多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.