错误“对象引用未设置为对象的实例”

时间:2016-09-17 17:52:37

标签: c#

当我尝试启动此程序时,它崩溃并且控制台显示错误,说“对象引用未设置为对象的实例”。它显示问题在第30行,但我不知道该行有什么问题。继承我的代码:

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

namespace _14Uzduotis
{
class Program
{

    static void Main(string[] args)
    {

        string ValstybinisNumeris;
        string Gamintojas;
        string Modelis;
        string PagaminimoDataString;
        DateTime? PagaminimoData = null;
        DateTime TechnineApziura;
        string Kuras;
        double Sanaudos;
        int count = 0;

        using (StreamReader skaitymas = new StreamReader("Data.csv"))
        {

            string line = null;
            string[] values = line.Split(' ');

            while (null != (line = skaitymas.ReadLine()))
            {

                values = line.Split(' ');
                ValstybinisNumeris = values[0];
                Gamintojas = values[1];
                Modelis = values[2];
                PagaminimoData = DateTime.Parse(values[3]);
                TechnineApziura = DateTime.Parse(values[4]);
                Kuras = values[5];
                Sanaudos = Convert.ToDouble(values[6]);
                count++;
                Console.WriteLine("{0}", values[3]);
            }

        }

        int maxAge = 0;
        string maxValstybinis, maxGamintojas, maxModelis;
        DateTime Dabartinis = DateTime.Now;
        if (PagaminimoData.HasValue)
        {
           Console.WriteLine("{0}",Dabartinis.Subtract(PagaminimoData.Value));
        }

        for (int i = 0; i <= count; i++)
        {



            //if ((Dabartinis - PagaminimoData) > maxAge)

            //Console.WriteLine("Laiko skirtumas: {0}", Dabartinis -     PagaminimoData);


        }
    }
}
}

1 个答案:

答案 0 :(得分:1)

在第29行中,您将空值分配给line:

string line = null;

在下一个声明中,您正在调用&#39; split&#39;来自行的方法:

string[] values = line.Split(' ');

由于line为null,您将收到错误。