如何解决NullReferenceException在文本writelne事件中未处理?

Pen*_*uen -1 .net c# visual-studio-2008 visual-studio

如果我尝试将以下数据添加到任何文本文件错误occyred:"NullReferenceException未处理." Tex.Writeline(li)出错....

细节:对象引用未设置为对象的实例.

  public void WriteScript(List myTextList)
        {
            FileInfo f = new FileInfo(@"C:\temp\Scripts.txt");
            StreamWriter Tex = null;
            if(!f.Exists)
                f.CreateText();
            else
                f.AppendText();
            foreach (string li in myTextList)
            {
                Tex.WriteLine(li);
                Tex.Write(Tex.NewLine);
                Tex.WriteLine("GO");
                Tex.Write(Tex.NewLine);
            }
                Tex.Close();
                Tex.Dispose();

        }
Run Code Online (Sandbox Code Playgroud)
Create table ENG_PREP (ENG_PREP_ID integer PRIMARY KEY identity(1,1), [ENG_PREP_MPD_REFERENCE]  nvarchar(3000) , [ENG_PREP_TASK_DESCRIPTION]  nvarchar(3000) , [ENG_PREP_ZONE]  nvarchar(3000) , [ENG_PREP_SUBZONE]  nvarchar(3000) , [ENG_PREP_PREPERATION_NO#]  nvarchar(3000) , [ENG_PREP_PREPERATION_DESCRIPTION]  nvarchar(3000) , [ENG_PREP_RELATED_PREPERATION]  nvarchar(3000) , [ENG_PREP_OPEN_MH]  nvarchar(3000) , [ENG_PREP_CLOSE_MH]  nvarchar(3000) , [ENG_PREP_ESTIMATED_MH]  nvarchar(3000) , [ENG_PREP_CREW_DONE]  nvarchar(3000) , [ENG_PREP_SKILL_DONE]  nvarchar(3000) , [ENG_PREP_MAINTENANCE_DATA]  nvarchar(3000) , [ENG_PREP_EFF_A/C]  nvarchar(3000) , [ENG_PREP_EFF_ENG]  nvarchar(3000) , [ENG_PREP_NOTE]  nvarchar(3000) , [ENG_PREP_REFERENCE]  nvarchar(3000) , [ENG_PREP_ESTIMATED_MH2]  nvarchar(3000) , [ENG_PREP_MH]  nvarchar(3000) , [ENG_PREP_CONTROL]  nvarchar(3000)  )
Run Code Online (Sandbox Code Playgroud)

SWe*_*eko 6

您没有初始化Tex变量,所以您基本上在做:

null.WriteLine(li);
Run Code Online (Sandbox Code Playgroud)

而且那是你的 NullReferenceException