Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 类错误数组_C# - Fatal编程技术网

C# 类错误数组

C# 类错误数组,c#,C#,所以我有这门课 namespace WindowsFormsApplication2 { public class Records { public string name, surname; public int num; } } 我想为这个类创建一个数组,尝试了所有方法,但仍然不起作用,我开始认为这是一个bug,我正在使用Visual Studio 2012,这是我的代码。任何帮助都将不胜感激 (表单上有一个记录数据网格,我从文本

所以我有这门课

namespace WindowsFormsApplication2
{ 
    public class Records
    {
        public string name, surname;

        public int num;
    }
}
我想为这个类创建一个数组,尝试了所有方法,但仍然不起作用,我开始认为这是一个bug,我正在使用Visual Studio 2012,这是我的代码。任何帮助都将不胜感激

(表单上有一个记录数据网格,我从文本框中读取,信息用制表符分隔)

命名空间窗口窗体应用程序2
{
公共部分类Form1:Form
{
公共表格1()
{
初始化组件();
}
记录[]userRecs=新记录[20];
公共整数计数=0;
私有void Form1\u加载(对象发送方、事件参数e)
{
getText();
}
public-void-getText()
{
FileStream fs=新文件流(“D:\\filestr.txt”,FileMode.Open);
StreamReader sr=新的StreamReader(fs);
for(字符串readed=sr.ReadLine();readed!=null;readed=sr.ReadLine())
{
字符串[]tempStr=readed.Split('\t');
userRecs[count].num=Convert.ToInt32(tempStr[0]);
userRecs[count].name=tempStr[1];
userRecs[count]。姓氏=tempStr[2];
计数++;
}
for(int i=0;i
也许应该是

dataGridView1.Rows.Add(userRecs[i].num, userRecs[i].name, userRecs[i].surname);

这会为阵列分配内存,但不会创建记录实例:

Records[] userRecs = new Records[20];
现在,当您在文件行中进行迭代时,需要实例化您的类:

userRecs[count] = new Records();
userRecs[count].num = ...
...

它以什么方式不工作?你会得到什么错误,在哪里?即使你得到它工作使用列表!您还需要为数组分配内存。如果文件中的行数超过20行,则会出现问题,因为您的数组只能容纳20个项目!它不应该解释这个错误。但这可能是您发现的错误:)很可能是NullReferenceException。没有分配任何“记录”。是的,我注意到我只是重新创建了代码来粘贴在这里,但情况并非如此,不管怎样:)
Records[] userRecs = new Records[20];
userRecs[count] = new Records();
userRecs[count].num = ...
...