检查对象属性是否有赋值
本文关键字:赋值 是否 属性 对象 检查 | 更新日期: 2023-09-27 18:03:28
我有一个类,允许一些属性留空(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 '的异常。在System.Web.Mvc.dll中发生了ArgumentException,但没有在用户代码中处理
附加信息:值不能为空或空
我没有正确检查item.action != null
吗?
您的代码应该检查item.action
是否为空,但不检查item
是否为空。在item
为空的情况下,将发生空引用异常。您可能需要:
var actionURL = (item != null && item.action != null) ? "" : "#";
这将首先检查item
不为空,然后检查item.action
不为空。
@Luaan的评论看起来包含了答案