zoukankan      html  css  js  c++  java
  • c# string 扩展方法

    场景:只显示一字符串的前50个字符,多余的用“...”省略号替代

    如果不用扩展方法当然也可以实现,写一个静态方法,如下:

    public class StringUtil
        {
            /// <summary>
            /// 截取字符串
            /// </summary>
            /// <param name="str">要截取的字符串</param>
            /// <param name="length">截取长度</param>
            /// <returns></returns>
            public static string CutString(string str, int length)
            {
                if (!string.IsNullOrEmpty(str))
                {
                    if (str.Length <= length)
                    {
                        return str;
                    }
                    else
                    {
                        return str.Substring(0, length) + "...";
                    }
                }
                else
                {
                    return "";
                }
            }
    }
    不用扩展方法

    调用:

    string result=StringUtil.CutString(str,50);

    使用扩展方法:

    使用扩展方法要注意两个点:1)扩展方法必须定义在静态类中,2)使用this关键字

    public static class StringExtension
        {
            /// <summary>
            /// 截取字符串,多余部分用"..."代替
            /// </summary>
            /// <param name="str">源字符串</param>
            /// <param name="length">截取长度</param>
            /// <returns></returns>
            public static string CutString(this string str, int length)
            {
                if (!string.IsNullOrEmpty(str))
                {
                    if (str.Length <= length)
                    {
                        return str;
                    }
                    else
                    {
                        return str.Substring(0, length) + "...";
                    }
                }
                else
                {
                    return "";
                }
            }
    }
    扩展方法

    调用:

    string result=str.CutString(50);

    这样是不是方便一些,代码简洁一些,就像你去调用ToString(),Substring()等系统定义的方法一样。

  • 相关阅读:
    【3006】统计数字
    【5001】n皇后问题
    【7001】n阶法雷序列
    【9402】倒序数
    【9705】&&【a801】细胞
    【9802】闭合曲线面积
    【a803】营救
    【9112】求2的n次方的精确值
    V8引擎实现标准ECMA-262(三)
    仔细看看Javascript中的逻辑与(&&)和逻辑或(||)
  • 原文地址:https://www.cnblogs.com/qk2014/p/6849068.html
Copyright © 2011-2022 走看看