Car*_*s28 0 c# asp.net-mvc razor
为什么在 Razor 视图中使用它时会String.Trim()
引发异常,string.empty
如下所示:
console.log('@Model.Test.FirstOrDefault().Trim()');
Run Code Online (Sandbox Code Playgroud)
(列表是空的,所以我得到了string.empty
)然后:
Server Error in '/' Application.
Object reference not set to an instance of an object.
(...)'
Line 326: console.log('@Model.Test.FirstOrDefault().Trim()');
Run Code Online (Sandbox Code Playgroud)
如果列表是空的,那么你不会得到string.Empty
空值,因为空字符串列表的第一个元素的默认值是null
,你不能调用.Trim()
空对象。
如果您使用的是 C# 6,那么您可以执行以下操作:
console.log('@Model.Test.FirstOrDefault()?.Trim()');
Run Code Online (Sandbox Code Playgroud)
请注意,在 , 之前添加了一个问号.Trim()
,它会进行空检查,以便仅在左侧不为空时才调用 trim。
或者你可以这样做:
console.log('@(Model.Test.FirstOrDefault() ?? string.Empty).Trim()');
Run Code Online (Sandbox Code Playgroud)
它使用空合并运算符显式地用 a 替换空值,string.Empty
并且在以前版本的 C# 中可用