Olá, estou disponibilizando aqui, um simples método em C# para ler um arquivo txt do disco, ele faz a leitura linha a linha e joga os valores em um array, desta maneira você pode obter informações sobre quantidade de linhas do arquivo, qual frase/texto estava em um determinada linha.. e etc.

Detalhe estou usando a classe OpenFileDialog para abrir a caixa de dialogo no momento de importação do arquivo.


private string arquivo;
private string mensagem;
private void MetodoParaLerLinhaArquivo()
{
    List<string> mensagemLinha = new List<string>();
    using (OpenFileDialog openFileDialog = new OpenFileDialog())
    {
         openFileDialog.Title = "xxxxxxxxxo";
         openFileDialog.InitialDirectory = @"c:\Program Files"; //Se ja quiser em abrir 
         em um diretorio especifico
         openFileDialog.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
         openFileDialog.FilterIndex = 2;
         openFileDialog.RestoreDirectory = true;
         if (openFileDialog.ShowDialog() == DialogResult.OK)
         arquivo = openFileDialog.FileName;
    }
    if (String.IsNullOrEmpty(arquivo))
    {
         MessageBox.Show("Arquivo Invalido", "Salvar Como", MessageBoxButtons.OK);
    }
    else
    {
     using (StreamReader texto = new StreamReader(arquivo))
     {
        while ((mensagem = texto.ReadLine()) != null)
        {
            mensagemLinha.Add(mensagem);
        }
     }
    int registro = mensagemLinha.Count; //total de linhas do arquivo.
    for (int i = 0; i < mensagemLinha.Count; i++)
   {
     TextBox textbox1 = new TextBox();
     textbox1.Text += mensagemLinha[i];
     File.WriteAllText(arquivo, mensagemLinha[i] + "1"); 
   }
 }
}