System.NullReferenceException排查:向List添加非空字符串时触发异常
解决NullReferenceException异常的问题
你的NullReferenceException异常不是因为字符串s为空,而是**CategoryList列表对象本身未初始化(处于null状态)**。
当调用CategoryList.Add(s)时,如果CategoryList没有通过new List<string>()这类语句创建实例,就会触发这个异常——因为你在尝试调用一个null对象的方法。
解决方法
在使用CategoryList之前,先完成初始化:
// 可以在类的构造函数、方法开头等位置添加 CategoryList = new List<string>();
验证方式
你可以在CategoryList.Add(s)前加一行调试代码确认:
MessageBox.Show(CategoryList == null ? "CategoryList是null" : "CategoryList已初始化");
运行后会弹出提示,直接确认是否是这个原因。
内容的提问来源于stack exchange,提问作者MHerbst
相关产品推荐
相关产品推荐

