0

私はプログラミングが初めてなので、私の素朴な質問を許してください。

私は double[ ] 配列を持っています。以下のコードを使用してテキスト ファイルに書き込むことができます。

using (System.IO.StreamWriter outfile = new System.IO.StreamWriter(@"C:\Seasonality.txt") )
  {
     for (int raw = 1; raw <54; raw++)
     {
       outfile.Write("{0} ",array[raw]);
     }
  }

出力テキスト ファイル (1 raw) は、以下に示すように、スペースで区切られた 54 のレコードで構成されます。

1.323 2.3443 2.367 5.3453 0.3432 1.754 ........etc 

私が達成しようとしているのは、インデックスを渡して値を読み取る関数です。つまり、ファイルの最初の値のインデックス = 1、ファイルの 5 番目の値のインデックス = 5 などです。

Double GetValue (int index) 
{
.....
}

PS: 出力ファイル構造を 1 行に 1 つの値に変更すると作業が楽になると思われる場合は、提案してください。

前もって感謝します

4

4 に答える 4

1

あなたは以下のようにすることができます、

double GetValue(int index)
{
    return double.Parse(File.ReadLines(path).First().Split()[index-1]);
}

注: 行の読み取りの結果に対してより多くの検証を行うことができ、指定されたインデックスで取得しdouble.TryParseて変換に使用するのに十分なアイテムを分割することができます。

于 2013-04-29T17:59:14.837 に答える
1

完全を期すために、値ごとに行に分割するオプションについて言及しているため、それを行った場合は次のようになります。

var item = File.ReadLines(path).Skip(index-1).First();

(さらに、最終値の解析)

于 2013-04-29T17:49:50.007 に答える
0
double GetValue(int index)
{   
   return double.Parse(System.IO.File.ReadAllLines(your file)[0].Split(' ')[index]);
}
于 2013-04-29T17:48:36.817 に答える