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);

以上将根据您拥有的当前属性之一对数据进行排序。如果您需要对它进行不同的排序,您可能需要考虑向您的对象添加另一个更适合排序的属性。

使用 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 教程。我可以继续讨论如何访问和使用它们,但是你需要深入了解并开始通过网络上的信息学习它。希望上面的例子和我给你的链接可以让你开始!干杯!

于 2012-07-26T18:29:47.640 回答