*本网站和其他人的其他答案没有帮助。需要特定情况的帮助。 NullReferenceException,C#

时间:2016-12-10 08:30:34

标签: c# null nullreferenceexception

我们正在尝试使用教师提供给我们的代码将数据加载到数组中。代码是给我们的,因为我们没有也不会学习任何代码,但似乎有问题。 Public void LoadData()是他给我们的方法。我们要添加代码将它存储到我们的数组中。

我添加的是两行代码用**表示的两行代码。这是导师指示我们做的事情,但他们也对我们遇到的问题感到难过。我们不断得到NullReferenceException未处理,对象引用不是实例对象错误。

导师似乎无法弄明白,我们搜索了互联网,并努力寻找解决方案数小时。我还要补充一点,在修补可能的解决方案时,错误有时会指向不同的位置。我读过的解决方案似乎没有起作用。有人说这是我可能声明我的数组的方式,有些人说像if(r!= null)这样的东西添加为空检查(我们从未学过任何东西)我尝试调整他们的建议而且它没有工作,或者我只是把它放在错误的地方。

请查看代码并查看缺少的内容。请理解,我们是基础课。我们不知道什么是空检查,堆栈跟踪是什么,或者什么是高级。我已经排除了一些我知道正确的方法,并且会使一切都混乱。您将看到我在哪里创建了名为score的数组,以及复制和粘贴的公共void数据。

在LoadData()代码中包含的s和r变量,或者我声明得分数组的方式似乎有问题。也许这是其他的东西。

使用System; 使用System.Collections.Generic;

using System.Linq;
using System.IO;
using System.Text;
using System.Threading.Tasks;

namespace DataAnalysis
{
    class TestScores
    {
        int[] scores;
        private double[] counter;
        private int count;

        public TestScores()
        {
            count = 0;
            scores = new int[100];
            LoadData();
            for (int i = 0; i < scores.Length; i++)
            {
                count++;
            }
        }

        public void LoadData()
        {
            int i = 0;
            StreamReader r = null;
            string path = "C:\\IST600Work\\testscore.txt";
            String s;
            try
            {
                r = new StreamReader(path);
                while (!r.EndOfStream)
                {
                    s = r.ReadLine(); // Reads one testscore data, as a string                   
                    **scores[i] = int.Parse(s);
                    **
                        **i++;
                    **
                    // Add code here to store it to your array
                }
            }
            catch (FileNotFoundException n)
            {
                Console.WriteLine("File to read not found");
            }
            catch (IOException o)
            {
                Console.WriteLine(o.Message);
            }
            finally
            {
                r.Close();
                r.Dispose();
            }
        }
    }
}

0 个答案:

没有答案