C#:字符串做20位截断

在C#中,如果需要对字符串进行20位截断处理,即如果字符串长度超过20个字符,则只保留前20个字符,可以使用几种不同的方法来实现这一功能。下面是一些常用的方法:

方法1:使用`Substring`方法

string originalString = "这是一个很长的字符串,需要被截断。";

string truncatedString = originalString.Length > 20 ? originalString.Substring(0, 20) : originalString;

Console.WriteLine(truncatedString);

方法2:使用`string.Length`属性与`if`语句结合

string originalString = "这是一个很长的字符串,需要被截断。";

if (originalString.Length > 20)

{

originalString = originalString.Substring(0, 20);

}

Console.WriteLine(originalString);

方法3:使用`string.Length`属性与`? :`运算符(三元运算符)

这种方法与第一种方法类似,但使用了三元运算符,使代码更简洁。

string originalString = "这是一个很长的字符串,需要被截断。";

string truncatedString = originalString.Length > 20 ? originalString.Substring(0, 20) : originalString;

Console.WriteLine(truncatedString);

方法4:使用LINQ的`Take`方法

虽然这不是最直接的方法,但如果想要一个更函数式的方法,可以使用LINQ的`Take`方法。这种方法首先将字符串转换为字符数组,然后取前20个字符,最后再转换回字符串。

using System.Linq;

string originalString = "这是一个很长的字符串,需要被截断。";

string truncatedString = new string(originalString.Take(20).ToArray());

Console.WriteLine(truncatedString);

方法5:使用扩展方法

也可以创建一个扩展方法来复用这段逻辑:

public static class StringExtensions

{

public static string Truncate(this string value, int maxLength)

{

if (string.IsNullOrEmpty(value)) return value;

return value.Length <= maxLength ? value : value.Substring(0, maxLength);

}

}

然后可以这样使用这个扩展方法:

string originalString = "这是一个很长的字符串,需要被截断。";

string truncatedString = originalString.Truncate(20);

Console.WriteLine(truncatedString);

相关推荐
醉城夜风~2 小时前
(超详细)C++多态(Polymorphism)
开发语言·c++
这是个栗子2 小时前
【JS代码分析】前端鉴权基础:Token 的本地存储与状态重置实践
开发语言·前端·javascript
wuyk5553 小时前
7.AVL 树:第一个自平衡二叉搜索树
开发语言·stm32·单片机·算法
SomeB1oody3 小时前
【RustyML入门】5.3. 聚类指标
开发语言·后端·机器学习·rust·教程
OPEN-F3 小时前
Python进阶教程:Web开发入门(Flask)
开发语言·python
神仙别闹3 小时前
基于C++ MFC实现动态分区分配存储管理
开发语言·c++·mfc
for_ever_love__3 小时前
python基础语法学习: 类型注解
开发语言·python·学习
caimouse3 小时前
ReactOS 图形系统分析(46):DC 工具 — dcutil.c
c语言·开发语言
xixiaoyunya3 小时前
从零搭建跨域互联网络:个人与小团队的轻量组网方案技术解析
开发语言·智能路由器·php