は1

2017-11-11 4 views
0
StreamReader text = new StreamReader(@textBox1.Text.ToString()); 
     String tempArray = text.ReadToEnd(); 
     char[] charA = tempArray.ToCharArray(); 
     Console.Write(charA); 

出力はそのは1

****4**** 
**26*71** 
871***694 
*6*****4* 
2*59*67*8 
*8*****2* 
658***471 
**94*85** 
****7**** 

のようですが、私は、単純な1行に1次元配列を作成し、保存したい行の配列にStreamReaderを使用してファイルからデータを読み込みます

**** 4 **** 26 * 71 871 *** 694 * 6 ***** 4 * 2 * 59 * 67 * 8 * 8 **** * 2 * 658 *** 471 94 * 85 **** 7 ****は

がどのように分割し、これを私はでき?

+0

私の結果と私の配列の値でなければなりません*** 4 **** 26 * 71 871 *** * 6 694 ***** 4 * 2:誰かがすでにこのトリックを行うためにstring.Replace("\r\n", "")を使ってコメント* 59 * 67 * 8 * 8 ***** 2 * 658 *** 471 94 * 85 **** 7 ****この書式 – imnew

答えて

0

あなたが共有しているコードで起こってたくさんあります:

StreamReader text = new StreamReader(@textBox1.Text.ToString()); 
String tempArray = text.ReadToEnd(); 
char[] charA = tempArray.ToCharArray(); 
Console.Write(charA); 

textBox1.Textすでにstringあるので、あなたはその背後にある.ToString()を必要としません。

ところで、フィールドにはキーワードと同じ名前がない限り、フィールドの先頭に@を付ける必要はありません。あなたが好きなら、とにかくそれをすることは自由です)。

StreamReader text = new StreamReader(textBox1.Text); 
String tempArray = text.ReadToEnd(); 
char[] charA = tempArray.ToCharArray(); 
Console.Write(charA); 

ファイルで行いたいことがstringとそのすべての内容を読んでいる場合次に、あなたはそれが開いているファイルを保存しないようFile.ReadAllText()を使用することがあります:

String tempArray = File.ReadAllText(textBox1.Text); 
char[] charA = tempArray.ToCharArray(); 
Console.Write(charA); 

コンソールは複数の行を出力しますが、char[]は実際には1D配列です。問題は、ファイルに改行文字があり、それがコンソールで処理されることです。

これらの改行を削除したい場合は、まだstringで作業している間に行うことが簡単です。これにはいくつかの組み込み機能があるためです。

String tempArray = File.ReadAllText(textBox1.Text); 
tempArray = tempArray.Replace("\r", ""); 
tempArray = tempArray.Replace("\n", ""); 
char[] charA = tempArray.ToCharArray(); 
Console.Write(charA); 
+0

それは動作します!私はあなたの答えにとても感謝しています。ありがとう – imnew