代码之家  ›  专栏  ›  技术社区  ›  GibboK

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

  •  0
  • GibboK  · 技术社区  · 14 年前

    我的目标是“净化一根绳子”。

    课程应该:

    • 修剪输入
    • 把第一个字母大写。

    你能告诉我:

    • 有没有更好的编码方法?
    • 对于像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;
            }
        }
    }
    
    5 回复  |  直到 12 年前
        1
  •  3
  •   Daniel Peñalba    14 年前

    我将为string类使用扩展方法:

    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();
    
        2
  •  8
  •   Klaus Byskov Pedersen    14 年前

    我想我会创造一个 extension method 改为字符串:

    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();
    
        3
  •  4
  •   TalentTuner    14 年前

    您可以使用扩展方法来支持您的需求

    使用扩展方法,可以将方法用作System.String类的一部分。

    See Here

        4
  •  2
  •   scott    14 年前

    我将使类和方法成为静态的

    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");
    
        5
  •  1
  •   David    14 年前

    将其作为 string 所以你可以直接从字面上调用它。更少的开销。