0
I’m learning how to use C# in Visual Studio 2019. I want to read a text file and save each line in a position of a vector of the type string. However, when I click on "button1" to read the file and save to the vector, it gives the following error: System.Nullreferenceexception: 'Undefined object reference for an instance of an object. ' The other buttons work normally. I don’t know where I’m going wrong.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Manipular_Arquivos
{
public partial class Editor : Form
{
int count = 0, i=0;
string[] dados;
public Editor()
{
InitializeComponent();
}
/*É neste ponto minha dúvida. O arquivo que quero ler está da seguinte maneira:
6
7
8.3
1.0
Cada número em uma linha. Mas não consigo salvar cada linha em uma posição do vetor de string "dados"*/
private void button1_Click(object sender, EventArgs e)
{
string nomeArquivo = textBox1.Text;
StreamReader leitor = new StreamReader(nomeArquivo + ".txt");
while (!leitor.EndOfStream)
{
string linha = leitor.ReadLine();
richTextBox1.Text += linha + "\n";
dados[count] = linha;
count++;
}
leitor.Close();
}
private void button4_Click(object sender, EventArgs e)
{
string nomeArq = textBox1.Text;
StreamWriter escritor = new StreamWriter((nomeArq + ".txt"), true);
escritor.WriteLine(richTextBox1.Text);
escritor.Close();
}
private void button5_Click(object sender, EventArgs e)
{
richTextBox1.Text = "";
}
private void button3_Click(object sender, EventArgs e)
{
richTextBox1.Text = "";
string nome = textBox1.Text;
StreamWriter escritor = new StreamWriter(nome + ".txt");
escritor.WriteLine("");
escritor.Close();
}
private void button2_Click(object sender, EventArgs e)
{
Principal novo = new Principal();
this.Close();
novo.Show();
}
private void button6_Click(object sender, EventArgs e)
{
string nomeArq = textBox1.Text;
StreamWriter escritor = new StreamWriter(nomeArq + ".txt");
escritor.WriteLine(richTextBox1.Text);
escritor.Close();
}
}
}
It worked! I really didn’t know there was a way List<string>, it helped me a lot. Thanks!
– Julia Gubolin