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);

相关推荐
噢,我明白了1 小时前
JAVA中的一些基础应用知识点
java·开发语言
寂寞的船2 小时前
【Unity知识速递】第10期 Unity GC 零分配实战:从 UnityEngine.Pool 到手动 GC 控制的全链路优化
jvm·unity·c#·游戏引擎·lucene
时间的拾荒人2 小时前
Redis 入门详解:核心特性、重要文件与全局命令实战
开发语言·redis·面试
敲上瘾3 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3
码途行者4 小时前
网站的SQL 注入:从攻击原理到防御措施
开发语言·sql·php
旖旎夜光4 小时前
【C++ 基础入门】C++ 多态(中):虚函数表、多态原理与动静绑定
开发语言·c++·笔记·学习
你看我名字4 小时前
产品参数昨天还对,今天已过期:数眼智能与大模型应用如何做资料版本校验
开发语言·架构
1-1=05 小时前
C# 数据结构和特殊类型
数据结构·c#·.net·.netcore
老秦包你会5 小时前
计算机网络第二课 ----Socket(套接字)编程预备
开发语言·计算机网络·php
旖旎夜光5 小时前
【C++ 基础入门】C++多态(下):单/多继承虚表、多态补充与 21 道高频题
开发语言·c++·笔记·学习