1

StringReader複数行のテキストボックスから入力を読み取るためにを使用しています。しかし、私は奇妙な行動を経験しています。
私のコード:

string x = reader.ReadLine();
int y = int.Parse(x);

x常にintです。
私の問題は、xが複数行のテキストボックスの最初の行であるため、intだけが含まれていないことですが、System.Windows.Forms.Textbox, Text:10
ここで何か助けはありますか?

私は次のように作成StringReaderします:

using (StringReader reader = new StringReader(Convert.ToString(multilinetbox)))
{

}
4

5 に答える 5

5

Textコントロール全体ではなく、複数行のテキスト ボックスのプロパティを読み取るようにリーダーを変更します。

using (StringReader reader = new StringReader(multilinetbox.Text))
于 2012-12-11T07:57:12.463 に答える
0

あなたがこれを求めていないことは知っていますが、それでも私はそれを投稿しようと思いました。

やってみませんか

foreach (string line in multilinetbox.Lines)
{
    int y = int.Parse(line);
}

それが役に立てば幸い。

于 2012-12-11T07:58:35.363 に答える
0

最初にタイプ情報を変換してからConvert.ToString(multilinebox)、テキストコンテンツを取得するためです。

multilineboxをmultilinebox.Textに変更する必要があります。

好き

using (StringReader reader = new StringReader(Convert.ToString(multilinetbox.Text)))
{    
}
于 2012-12-11T07:59:19.233 に答える
0

Convert.ToString(multilinetbox)コードをテキスト表現に変換するため、コードの結果は通常どおりになります。

代わりに「Lines」プロパティを使用してみてください。

foreach (string ln in textBox1.Lines)
{
    // some work here
}
于 2012-12-11T07:59:55.990 に答える
0

これはうまくいくはずです:

    private void button1_Click(object sender, EventArgs e)
    {
        StringReader rdr = new StringReader(textBox1.Text);
        int y = int.Parse(rdr.ReadLine());
    }

StringReader宣言を間違えたと思います。

于 2012-12-11T08:01:28.153 に答える