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

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

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

     1 public class StringUtil
     2     {
     3         /// <summary>
     4         /// 截取字符串
     5         /// </summary>
     6         /// <param name="str">要截取的字符串</param>
     7         /// <param name="length">截取长度</param>
     8         /// <returns></returns>
     9         public static string CutString(string str, int length)
    10         {
    11             if (!string.IsNullOrEmpty(str))
    12             {
    13                 if (str.Length <= length)
    14                 {
    15                     return str;
    16                 }
    17                 else
    18                 {
    19                     return str.Substring(0, length) + "...";
    20                 }
    21             }
    22             else
    23             {
    24                 return "";
    25             }
    26         }
    27 }
    28 
    29 不用扩展方法

    调用:

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

    使用扩展方法:

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

     1 public static class StringExtension
     2     {
     3         /// <summary>
     4         /// 截取字符串,多余部分用"..."代替
     5         /// </summary>
     6         /// <param name="str">源字符串</param>
     7         /// <param name="length">截取长度</param>
     8         /// <returns></returns>
     9         public static string CutString(this string str, int length)
    10         {
    11             if (!string.IsNullOrEmpty(str))
    12             {
    13                 if (str.Length <= length)
    14                 {
    15                     return str;
    16                 }
    17                 else
    18                 {
    19                     return str.Substring(0, length) + "...";
    20                 }
    21             }
    22             else
    23             {
    24                 return "";
    25             }
    26         }
    27 }
    28 
    29 扩展方法

    调用:

    string result=str.CutString(50);

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

  • 相关阅读:
    spring-redis SortedSet类型成员的过期时间处理
    Redis "MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk"问题
    2015InfoQ软件大会技术记录
    nginx搭建文件服务器
    Electron
    TaoKeeper
    (转)前端:将网站打造成单页面应用SPA
    转(解决GLIBC_2.x找不到的编译问题)
    java编译、编码、语言设置
    Discuz! 论坛
  • 原文地址:https://www.cnblogs.com/amylis_chen/p/14419320.html
Copyright © 2011-2022 走看看