C# 对象类矩阵

C# 对象类矩阵,c#,class,object,matrix,constructor,C#,Class,Object,Matrix,Constructor,我写了三门课:KompresorSilnik、KompresorObiekt和Mrowka 我想创建一个KompresorObiekt类对象的矩阵,这是一个GrafObiektow方法。在Kompresorbiekt的构造函数中,我创建了4个KompresorSilnik实例。我有一个方法,zwrocListe,它返回一个从0000到2222的int[]列表 问题是:这是否正确 public class KompresorSilnik { public double minFlow;

我写了三门课:KompresorSilnik、KompresorObiekt和Mrowka

我想创建一个KompresorObiekt类对象的矩阵,这是一个GrafObiektow方法。在Kompresorbiekt的构造函数中,我创建了4个KompresorSilnik实例。我有一个方法,zwrocListe,它返回一个从0000到2222的int[]列表

问题是:这是否正确

public class KompresorSilnik
{
    public double minFlow;
    public double maxFlow;
    public bool typ;
    public int stan;

    public KompresorSilnik()
    {
    }

    public KompresorSilnik(double minFlow, double maxFlow, bool typ, int stan)
    {
        this.minFlow = minFlow;
        this.maxFlow = maxFlow;
        this.typ = typ;
        this.stan = stan;
     }
}
这是我的二等舱

public class KompresorObiekt
{
    public KompresorObiekt() { }

    public KompresorObiekt( List<int[]> list, int x, int y)
    {
        double k1Max = 3000000.0;
        double k1Min = 10000.0;
        double k2Max = 200000.0;
        double k2Min = 5000.0;
        double K3Max = 100000000.0;
        double k3Min = 800.0;
        double k4Max = 10000.0;
        double k4Min = 2000.0;
        KompresorSilnik komp1 = new KompresorSilnik(k1Min, k1Max, false, list[x][y]);
        KompresorSilnik komp2 = new KompresorSilnik(k2Min, k2Max, true, list[x][y+1]);
        KompresorSilnik komp3 = new KompresorSilnik(k3Min, K3Max, false, list[x][y+2]);
        KompresorSilnik komp4 = new KompresorSilnik(k4Min, k4Max, true, list[x][y+3]);
    }
}
最后一个是Mrowka

public class Mrowka
{
    List<int[]> zwrocListe()
    {
        List<int[]> arrList = new List<int[]>();
        int[] ArrayOfInts = new int[4];

        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                for (int k = 0; k < 3; k++)
                {
                    for (int m = 0; m < 3; m++)
                    {
                        ArrayOfInts[0] = i;
                        ArrayOfInts[1] = j;
                        ArrayOfInts[2] = k;
                        ArrayOfInts[3] = m;

                        int[] arc = (int[])ArrayOfInts.Clone();
                        arrList.Add(arc);
                    }
                }
            }
        }

        return arrList;
    }

    KompresorObiekt[][] GrafObiektow(int time)
    {
        KompresorObiekt[][] graf = new KompresorObiekt[time][];
        int numNodes = zwrocListe().Count;
        for (int i = 0; i < graf.Length; ++i)
            graf[i] = new KompresorObiekt[numNodes];

        for (int i = 0; i < time; ++i)
            for (int j = 0; j < numNodes; ++j)
            {
                graf[i][j] = new KompresorObiekt(zwrocListe(), j, 0);

            }
        return graf;
    }
}

我不确定你所说的问题是:这是否正确?。这里有实际问题吗?如果是,错误消息是什么,它发生在哪里?我不确定GrafObiektow方法是否保存对象。哦,为什么在KompresorObiekt.GrafObiektow中不缓存zwrocListe返回的对象?看起来有点浪费。事实上,既然它不引用任何状态或参数,为什么不将其作为静态构造函数创建的静态对象呢?最好是为问题添加更多细节。并在调试器中运行代码。定义保存对象:通过参数返回它们?将它们存储在对象状态?将它们存储在全局状态?