向List<>添加元素时出现空引用异常问题求助
你的操作存在错误,触发空引用异常的根本原因是Message属性没有初始化,默认值为null,无法直接调用Add方法。
你在ErrorMessage类的定义中仅为StatusCode属性设置了默认值"400",但属于引用类型的List<string>属性Message没有指定初始值,类实例化后该属性默认为空引用,直接调用Add方法自然会抛出异常。
方案1:修改类定义,为Message属性设置默认初始值(推荐)
修改后的类代码如下:
public class ErrorMessage { public string StatusCode { get; set; } = "400"; // 新增初始化逻辑 public List<string> Message { get; set; } = new List<string>(); }
修改完成后你原来的调用代码就可以正常运行了。
方案2:不修改类定义,实例化时手动初始化Message属性
如果你暂时不能调整类的定义,也可以在调用Add方法前先给属性赋值:
ErrorMessage errorMessage = new ErrorMessage(); // 先初始化Message属性 errorMessage.Message = new List<string>(); errorMessage.Message.Add("The transaction could not be processed");
你也可以用对象初始化器简化写法:
ErrorMessage errorMessage = new ErrorMessage { Message = new List<string> { "The transaction could not be processed" } };
内容的提问来源于stack exchange,提问作者AJ Jones
相关产品推荐
相关产品推荐

