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()等系统定义的方法一样。

posted @   星火卓越  阅读(651)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示