Allora, l'ho riadattato così, ma non funziona, alla fine ottengo un file vuoto!
codice:
  string strTextFileName = "C:\\b.txt";
           
            //ArrayList lines = new ArrayList();
            StreamReader sr = new StreamReader(strTextFileName);
            string[] testo = File.ReadAllLines(strTextFileName);                     
            int posizione_inserire=2; //PERCHè SI PARTE DA ZERO
            if(posizione_inserire>=testo.Count()){
            // gestire eccezione 
               }
            sr.Close();
            for (int i = 0; i < testo.Length; i++)
            {
                Console.WriteLine(testo[i]);

            }
            Console.ReadLine();
            StreamWriter sw=new StreamWriter(strTextFileName);
            try{
            //apertura file in scrittura...
            }
            catch{

            }
            for(int i=0;i<testo.Count();i++){
            if(i==posizione_inserire){
            sw.WriteLine("non");

            }            
            sw.WriteLine(testo.ElementAt(i));

            }
        }