安全截断c#中可能为' null '的字符串
本文关键字:null 字符串 安全 | 更新日期: 2023-09-27 18:14:17
我有以下方法,但如果字符串为空,它会失败。如果字符串为空,我怎么能让它返回空呢?
public static string Truncate(this string value, int maxChars)
{
return value.Length <= maxChars ?
value :
value.Substring(0, maxChars) + " ..";
}
谁能给我解释一下"这个"是干什么用的?对不起,我不太擅长c#,这不是我的代码。
通过检查null并适当返回:)
public static string Truncate(this string value, int maxChars)
{
if (value == null)
{
return null;
}
return value.Length <= maxChars ?
value : value.Substring(0, maxChars) + " ..";
}
或者你甚至可以使用另一个条件:
public static string Truncate(this string value, int maxChars)
{
return value == null ? null
: value.Length <= maxChars ? value
: value.Substring(0, maxChars) + " ..";
}
除了Jon Skeet的好答案之外,您还想知道this
是用来做什么的。这使得该方法成为扩展方法。用特定的函数扩展 string类的功能。this string value
是Visual Studio的神奇之处,它为每个字符串变量在上下文菜单中显示该函数,并且编译器将该方法作为变量的第一个参数调用。函数必须是静态的
放置一个try catch块。如果触发,则返回null