-5
私はテキストファイルから2つの数字を読んでみたいです:2,5(1行目は2、2行目は5文字目です)。私はこれを数時間解決しようとしていますが、コードを実行するたびにこの行にエラーが発生します。テキストファイルを行単位で読み込み、それらの文字列を配列に追加するにはどうすればよいですか?
これはボタンの完全なコードです。また、リッチテキストボックスに1行ずつ書き込んだときにエラーが発生しました。
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
int p = 4;
int i = 0;
int b = 0;
int c = 0;
int x = 0;
TextBox[] text = new TextBox[50];
string[] linije = new string[50];
string[] brojac = new string[10];
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
text[1] = textBox1;
text[2] = textBox2;
text[3] = textBox3;
brojac[0] = p.ToString();
brojac[1] = c.ToString();
System.IO.File.WriteAllLines(@"text\brojac.txt", brojac);
if (b == 0)
{
for (i = c; i <= p; i++)
{
if ((i == c) && (x == 0))
{
linije[i] = "---------------";
x = 1;
}
else if (i == p)
{
linije[i] = "------------------";
b = 1;
}
else
{
switch (x)
{
case 3: linije[i] ="Sifra:" + " " + text[3].Text;
x = 0;
break;
case 2: linije[i] ="Korisnicko ime:" + " " + text[2].Text;
x = 3;
break;
case 1: linije[i] ="Naziv:" + " " + text[1].Text;
x = 2;
break;
}
}
}
}
if(b == 1)
{
c = c + 5;
p = p + 5;
b = 0;
System.IO.File.WriteAllLines(@"text\Kontener.txt", linije);
}
}
private void button2_Click(object sender, EventArgs e)
{
int o = 0;
string h;
int[] citaj = new int[2];
System.IO.StreamReader sr = new System.IO.StreamReader(@"text\brojac.txt");
while ((h = sr.ReadLine()) != null)
{
string[] parts = h.Split(',');
citaj[0] = int.Parse(parts[0]);
citaj[1] = int.Parse(parts[1]);
}
richTextBox1.Lines = new string[] { citaj[0].ToString(), citaj[1].ToString() };
}
}
}
ReadLineは改行までの完全な行を読み取ります。同じ行に2,5がある場合、Parse 2,5を整数として扱うことはできません。 – Steve
ところで、そこに着くと 'richTextBox1.Lines [g] = citaj [g] .ToString();で例外が発生します.... –
' var yourArr = File.ReadAllLines(@ "text \ brojac.txt ");' – EZI