1

6セットの数値で10000回の反復を実行するプログラムを構築しています。これらの数値は、反復を経て計算され、次の方法でソートされた後です。

*_Set1_****_Set2_****_Set3_****_Set4_****_Set5****_Set6_*
*********************************************************
**DESC******DESC******DESC******DESC******DESC*****DESC**
*********************************************************

ここで、Set(n) は数値のセットで、DESC は数値の降順です。

をやってみましたLIST。しかし、私は非常に慣れLISTておらず、それが私が探しているものかどうかさえわかりません. 私が行っていたことの例を挙げましょうLIST

//Created a Output Class for Sim
 public class MC_OUT
    {

       public double output;
       public double OOIP;
       public double OGIP;
       public double EURO;
       public double EURG;
       public double rAREA;
       public double calcEURO;
       public double calcEURG;

        public MC_OUT(double output, double OOIP, double OGIP, double EURO, double EURG, double rAREA, double calcEURO, double calcEURG) { 
        this.output = output;
        this.OOIP = OOIP;
        this.OGIP = OGIP;
        this.EURO = EURO;
        this.EURG = EURG;
        this.rAREA = rAREA;
        this.calcEURO = calcEURO;
        this.calcEURG = calcEURG;


        }

//Declared list before Monte Carlo Sim.
List<MC_OUT> mcout = new List<MC_OUT>();


//Ran Code to Perform Calculations
//Then Executed this at End
 if (OOIP >= 0 && OGIP >= 0)
        {
            mcout.Add(new MC_OUT(NormSInv((i - .5) / iter), OOIP, OGIP, EURO, EURG, rAREA, EURO / (rAREA * rNET_H * rGCF) * 1000, EURG / (rAREA * rNET_H * rGCF) * 1000));
        }
//Then I got confused and couldn't figure out how to sort and then access the needed
 //information

だから、このすべてのがらくたの後、私の主な質問は、この情報を保存する最も効果的な方法は何ですか? 誰かが私を適切なチュートリアルに案内してくれますか?

ありがとう!

4

1 に答える 1

3

リストを作成したので、インデックスでデータにアクセスできます。例えば:

var firstRecord = mcout[0];
var firstEURO = firstRecord.EURO;

または:

var firstEURO = mcout[0].EURO

データを並べ替える場合は、これと同じくらい簡単にすることができます。

var sortedData = mcout.Orderby(x => x.OOIP);

上記は、現在のプロパティの1つに基づいてデータを並べ替えます。別の方法で並べ替える必要がある場合は、並べ替えに適した別のプロパティをオブジェクトに追加することを検討する必要があります。

foreachループまたはforループを使用してデータを列挙することも簡単です。

foreach (var mc in mcout)
{
    var euro = mc.EURO;
}

for (int i = 0; i < mcout.Count; i++)
{
    var euro = mcout[i].EURO;
}

コレクションは非常に広く使われているもので、たくさんの種類があります!あなたはそれらとそれらの使い方を知りたいと思うでしょう。C#コレクションをグーグルで検索すると、多くの情報/チュートリアルが得られます。これがコレクションに関するMSDNチュートリアルです。それらにアクセスして使用する方法については続けることができますが、実際には非常に多くのことを掘り下げて、Web上の情報から学習を開始する必要があります。うまくいけば、上記の例と私があなたに与えたリンクがあなたを始めることができます!乾杯!

于 2012-07-26T18:29:47.640 に答える