我有一个类允许一些属性留空(null)问题是我不知道如何正确检查并继续收到错误。
这是班级:
public class ZoomListItem
{
public string image { get; set; }
public string text1 { get; set; }
public string text2 { get; set; }
public ZoomAction action { get; set; }
}
以下是我如何使用实例:
@foreach (ZoomListItem item in Model.templates)
{
var actionUrl = (item.action != null) ? "" : "#"; //error here
类的实例化没有分配动作值,只有文本和图像被赋予值。我在条件行中得到以下错误:
System.Web.Mvc.dll中发生了'System.ArgumentException'类型的异常,但未在用户代码中处理
附加信息:值不能为空或为空
我是否未使用item.action != null
正确检查?
答案 0 :(得分:1)
您的代码应检查instance Monad ((->) r) where
return = const
f >>= k = \ r -> k (f r) r
是否为空,但不检查item.action
是否为空。在item
为空的情况下,将发生空引用异常。你可能想要:
item
这将首先检查var actionURL = (item != null && item.action != null) ? "" : "#";
是否为空,然后检查item
是否为空。
@ Luaan的评论看起来像是包含答案