gpt4 book ai didi

c# - String 类中的哪个方法只返回前 N 个字符?

转载 作者:IT王子 更新时间:2023-10-29 03:30:34 25 4
gpt4 key购买 nike

我想为 String 类写一个扩展方法,这样如果输入的字符串比提供的长度 N 长,只有第一个 要显示 N 个字符。

这是它的样子:

public static string TruncateLongString(this string str, int maxLength)
{
if (str.Length <= maxLength)
return str;
else
//return the first maxLength characters
}

我可以使用什么String.*() 方法只获取str 的前N 个字符?

最佳答案

public static string TruncateLongString(this string str, int maxLength)
{
if (string.IsNullOrEmpty(str)) return str;

return str.Substring(0, Math.Min(str.Length, maxLength));
}

在 C# 8 或更高版本中,也可以使用 Range使它更简洁:

public static string TruncateLongString(this string str, int maxLength)
{
return str?[0..Math.Min(str.Length, maxLength)];
}

可以使用表达式主体进一步减少:

public static string TruncateLongString(this string str, int maxLength) =>
str?[0..Math.Min(str.Length, maxLength)];

请注意空条件运算符 (?) 用于处理 str 为空的情况。这取代了对显式空值检查的需要。

关于c# - String 类中的哪个方法只返回前 N 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3566830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com