当我尝试启动此程序时,它崩溃并且控制台显示错误,说“对象引用未设置为对象的实例”。它显示问题在第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);
}
}
}
}
答案 0 :(得分:1)
在第29行中,您将空值分配给line:
string line = null;
在下一个声明中,您正在调用&#39; split&#39;来自行的方法:
string[] values = line.Split(' ');
由于line为null,您将收到错误。