如何修复此对象引用未设置为对象错误的实例

本文关键字:对象 错误 实例 设置 何修复 对象引用 | 更新日期: 2023-09-27 17:55:26

我到处找过,似乎找不到问题的根源,也找不到如何解决这个问题。我下面的代码是使用气泡排序整理数组并标记名称 a-z。这工作正常,但这不是问题。问题是,当代码沿着我指示的行运行时,会显示错误。我什至不知道从哪里开始解决这个问题。已经2 +小时了。

        string[] temp = new string[3];
        for (int passes = 0; passes < classMateInfo.Length; passes++)
        {
            for (int pos = 0; pos < classMateInfo.Length - 1 - passes; pos++)
            {
                //The problem is this line below. The error shows up for this.
                if ((classMateInfo[pos].first).CompareTo((classMateInfo[pos + 1].first)) == 1)
                {
                    temp[0] = classMateInfo[pos].first;
                    temp[1] = classMateInfo[pos].last;
                    temp[2] = classMateInfo[pos].ID;
                    classMateInfo[pos] = classMateInfo[pos + 1];
                    classMateInfo[pos + 1].first = temp[0];
                    classMateInfo[pos + 1].last = temp[1];
                    classMateInfo[pos + 1].ID = temp[2];
                }
            }
        }

不要费心把其他人的问题和我类似的问题联系起来。我很难理解其他人的答案,而且我的代码是不同的,所以如果有人能指出我正确的方向,并给我更详细的解释为什么抛出这个异常,那就太好了。

我的问题是,澄清一下,为什么我会收到一个空异常?在哪里寻找解决问题?

谢谢。

如何修复此对象引用未设置为对象错误的实例

如果您在以下行得到NullReferenceException

if ((classMateInfo[pos].first).CompareTo((classMateInfo[pos + 1].first)) == 1)

这意味着classMateInfo数组要么包含null值,要么数组中的一个元素具有 firstnull值。

无法进一步帮助您,我不知道数组的内容。