我正在尝试初始化一个字符串列表以在以后的方法中使用。我不知道列表需要多大的大小,因为将传递给程序的数据集的大小不一致。因此,我动态地将项目添加到列表中。但是,当我在上面的空间中初始化列表时,会被认为main()是这样,
List<string> studentData;
Run Code Online (Sandbox Code Playgroud)
并在这样的公共方法中调用它,
studentData.AddRange(student); // Student is an array
Run Code Online (Sandbox Code Playgroud)
我得到一个例外,说,
System.NullReferenceException:“未将对象引用设置为对象的实例” studentData 为空。
但早些时候在我的代码中,我调用了一个像这样初始化的不同列表,它工作得很好,
List<string> fileInput; // Holds comma delimited file text
.
.
.
fileInput = text.Split(',').ToList();`
Run Code Online (Sandbox Code Playgroud)
然后我去DotNetPerls弄清楚如何初始化一个非空列表。根据代码示例,这应该有效,
List<string> studentData = new List<string>();
studentData.Add("Thing");
Run Code Online (Sandbox Code Playgroud)
但studentData得到了带有警告文本的绿色下划线
studentData 永远不会分配给,并且将始终具有其默认值 null。
并studentData.Add("Thing");用红色下划线错误文本
当前上下文中不存在名称“studentData.Add”。当前上下文中不存在名称“studentData”。
并且("Thing")也是分开处理的。
键入预期。
元组必须至少包含两个元素。) 预期的。类、结构或接口成员声明中的无效标记“Thing”
我对 C# 还是很陌生,这些错误对我来说都没有意义。我在这里做错了什么?
小智 5
List<string> studentData;
Run Code Online (Sandbox Code Playgroud)
只需声明一个变量studentData,其类型为List<string>,值为null。
List<string> studentData = new List<string>();
Run Code Online (Sandbox Code Playgroud)
这将创建一个空列表并分配给studentData.
| 归档时间: |
|
| 查看次数: |
1155 次 |
| 最近记录: |