2016-09-17 129 views
-2

當我嘗試啓動此程序時,它崩潰並且控制檯顯示錯誤,指出「對象引用未設置爲對象的實例」。它表明問題出現在第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

如果您指出有問題的代碼行,這將會很有幫助。如果不立即初始化變量,我也不會聲明變量。這不是20世紀70年代的C代碼。 –

回答

1

在第29行,要指定null值,以行:

string line = null; 

,並在接下來的語句,你在呼喚從線「分割」的方法:

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

由於行爲空,所以出現錯誤。

相關問題