C#实用程序类,用于使第一个字母大写并修剪输入字符串

Gib*_*boK 0 c# asp.net

我的目标是"消毒字符串".

该课程应该:

  • 修剪输入
  • 使第一个字母大写.

你能告诉我:

  • 有没有办法更好地编码呢?
  • 将PARAMETER用于以下方法是否有意义:CapitalizeFirstLetterTrim(string x)

    • 当我启动一个对象时,我需要编写很多代码,如下所示,还有其他方法可以缩短它吗?

      UserInputSanitizer myInput = new UserInputSanitizer();
      myInput.Input = "            ciao world";
      string ouput = myInput.CapitalizeFirstLetterTrim();
      
      Run Code Online (Sandbox Code Playgroud)

有用的资源http://msdn.microsoft.com/en-us/library/bb311042.aspx

----------- CLASS

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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Kla*_*sen 8

我想我会在字符串上创建一个扩展方法:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以像这样调用方法:

var s = "  Unsanitized         ";
var sanitized = s.Sanitize();
Run Code Online (Sandbox Code Playgroud)