1

テキストデータを含むリストを分割するための最良の方法を教えていただければ幸いです。現在のプログラムはテキスト ファイルを読み取り、値をリストに保存します。行/データの数は一定ではないため、可能であれば完全なリストをパーセンテージで分割したいと考えていました。たとえば、最初の 15% = 開始、次の 70% です。 = 中間、最後に最後の 15% = 終わり。

  • 追加情報=プログラムは実行中のセッションを監視するため、質問の開始(ウォームアップ)中間(メイン実行)および終了(クールダウン)の側面。最終的には、これを zedgraph に組み込み、実行中のセッションで自分のパフォーマンスを表示できるようにしたいと考えています。

これを調査して計算用語に置き換えるのに問題があります。あなたの知識と時間に感謝します。

4

1 に答える 1

3

少しLinqを使用できます:

var index1 = (int) Math.Round(array.Length * .15);
var index2 = (int) Math.Round(array.Length * .70);

var start = array.Take(index1);
var middle = array.Skip(index1).Take(index2 - index1);
var end = array.Skip(index2);

TakeおよびSkipメソッドを参照してください。

ArraySegment<T>クラスを使用することもできます:

var index1 = (int) Math.Round(array.Length * .15);
var index2 = (int) Math.Round(array.Length * .70);

// Replace T with your class name
var start = new ArraySegment<T>(array, 0, index1);
var middle = new ArraySegment<T>(array, index1, index2 - index1);
var end = new ArraySegment<T>(array, index2, array.Length - index2);
于 2013-05-11T19:01:28.193 に答える