C#用户定义的数组大小

时间:2017-08-31 13:29:48

标签: c# arrays forms size

如下所示,我有:

  1. 创建工具的类(Viatura)。

  2. 另一个类(ArrayViatura),用于创建一系列车辆和后续方法。

  3. 在表单中,我 让用户定义此车辆数组<{1}})的尺寸,然后再执行任何其他操作形成。

    如何使此值成为数组大小?

    提前致谢!

    以下是代码:

    班级Viatura

    numericupdown1

    Class ArrayViatura

    `namespace IP_GonçaloDias_G00
    {
        class Viatura
        {
            string cvMatrícula;
            string cvMarca;
            string cvModelo;
            string cvAnoFabrico;
            string cvTipoPropulsão;
            string cvCilindrada;
            string cvPotência;
            double cvAceleração;
            string cvConsumoMédio;
            string cvCor;
            int cvTipoVeículo;
            string cvCaixa;
            DateTime cvPrimeiraMatrícula;
            int cvNúmeroRegistos;
            double cvKMPercorridos;
            string cvDescriçãoVeículo;
            double cvPreçoAquisição;
            double cvPreçoProposto;
            double cvPreçoVenda;
            DateTime cvDataVenda;
            string cvNomeCliente;
    
            public Viatura(string matricula, string marca, string modelo, string anofabrico, string tipopropulsao, string cilindrada, string potencia, double aceleracao, string consumomedio, string cor, int tipoveiculo, string caixa, DateTime primeiramatricula, int numeroregistos, double km, string descricaoveiculo, double precoaquisicao, double precoproposto, double precovenda, DateTime datavenda, string nomecliente)
            {
                string cvMatrícula=matricula;
                string cvMarca=marca;
                string cvModelo=modelo;
                string cvAnoFabrico=anofabrico;
                string cvTipoPropulsão=tipopropulsao;
                string cvCilindrada=cilindrada;
                string cvPotência=potencia;
                double cvAceleração=aceleracao;
                string cvConsumoMédio=consumomedio;
                string cvCor=cor;
                int cvTipoVeículo=tipoveiculo;
                string cvCaixa=caixa;
                DateTime cvPrimeiraMatrícula=primeiramatricula;
                int cvNúmeroRegistos=numeroregistos;
                double cvKMPercorridos=km;
                string cvDescriçãoVeículo=descricaoveiculo;
                double cvPreçoAquisição=precoaquisicao;
                double cvPreçoProposto=precoproposto;
                double cvPreçoVenda=precovenda;
                DateTime cvDataVenda=datavenda;
                string cvNomeCliente =nomecliente;
            }
    
            public string CVMatrícula
            {
                get { return cvMatrícula; }
                set { cvMatrícula = value; }
            }
            public string CVMarca
            {
                get { return cvMarca; }
                set { cvMarca = value; }
            }
            public string CVModelo
            {
                get { return cvModelo; }
                set { cvModelo = value; }
            }
            public string CVAnoFabrico
            {
                get { return cvAnoFabrico; }
                set { cvAnoFabrico = value; }
            }
            public string CVTipoPropulsão
            {
                get { return cvTipoPropulsão; }
                set { cvTipoPropulsão = value; }
    
            }
            public string CVCilindrada
            {
                get { return cvCilindrada; }
                set { cvCilindrada = value; }
    
            }
            public string CVPotência
            {
                get { return cvPotência; }
                set { cvPotência = value; }
    
            }
            public double CvAceleração
            {
                get { return cvAceleração; }
                set { cvAceleração = value; }
    
            }
            public string CVConsumoMédio
            {
                get { return cvConsumoMédio; }
                set { cvConsumoMédio = value; }
    
            }
            public string CVCor
            {
                get { return cvCor; }
                set { cvCor = value; }
    
            }
            public int CVTipoVeículo
            {
                get { return cvTipoVeículo; }
                set { cvTipoVeículo = value; }
    
            }
            public string CVCaixa
            {
                get { return cvCaixa; }
                set { cvCaixa = value; }
    
            }
            public DateTime CVPrimeiraMatrícula
            {
                get { return cvPrimeiraMatrícula; }
                set { cvPrimeiraMatrícula = value; }
    
            }
            public int CVNúmeroRegistos
            {
                get { return cvNúmeroRegistos; }
                set { cvNúmeroRegistos = value; }
    
            }
            public double CVKMPercorridos
            {
                get { return cvKMPercorridos; }
                set { cvKMPercorridos = value; }
    
            }
            public string CVDescriçãoVeículo
            {
                get { return cvDescriçãoVeículo; }
                set { cvDescriçãoVeículo = value; }
    
            }
            public double CVPreçoAquisição
            {
                get { return cvPreçoAquisição; }
                set { cvPreçoAquisição = value; }
    
            }
            public double CVPreçoProposto
            {
                get { return cvPreçoProposto; }
                set { cvPreçoProposto = value; }
    
            }
            public double CVPreçoVenda
            {
                get { return cvPreçoVenda; }
                set { cvPreçoVenda = value; }
    
            }
            public DateTime CVDataVenda
            {
                get { return cvDataVenda; }
                set { cvDataVenda = value; }
    
            }
            public string CVNomeCliente
            {
                get { return cvNomeCliente; }
                set { cvNomeCliente = value; }
    
            }
        }
    }`
    

    表格代码

    `namespace IP_GonçaloDias_G00
    {
        class ArrayViaturas
        {
            public Viatura[] viaturas;
            private int numElementos;
            private int pointer;
    
            public ArrayViaturas(int nElem)
            {
                viaturas = new Viatura[nElem];
                numElementos = 0;
                pointer = 0;
            }
            public int NumElementos
            {
                set { numElementos = value; }
                get { return numElementos; }
            }
            public int Pointer
            {
                set { pointer = value; }
                get { return pointer; }
            }
            public void InserirViatura(string matricula, string marca, string modelo, string anofabrico, string tipopropulsao, string cilindrada, string potencia, double aceleracao, string consumomedio, string cor, int tipoveiculo, string caixa, DateTime primeiramatricula, int numeroregistos, double km, string descricaoveiculo, double precoaquisicao, double precoproposto, double precovenda, DateTime datavenda, string nomecliente)
            {
                viaturas[numElementos] = new Viatura(matricula, marca, modelo, anofabrico, tipopropulsao, cilindrada, potencia, aceleracao, consumomedio, cor, tipoveiculo, caixa, primeiramatricula, numeroregistos, km, descricaoveiculo, precoaquisicao, precoproposto, precovenda, datavenda, nomecliente);
                numElementos++;
            }
            public string MostrarViatura(int index, string sep)
            {
                string str = viaturas[index].CVMatrícula + sep + viaturas[index].CVMarca + sep + viaturas[index].CVModelo + sep + viaturas[index].CVAnoFabrico +
                    sep + viaturas[index].CVTipoPropulsão + sep + viaturas[index].CVCilindrada + sep + viaturas[index].CVPotência +
                    sep + viaturas[index].CvAceleração.ToString("f2") + "KMh" + sep + viaturas[index].CVConsumoMédio + sep + viaturas[index].CVCor
                    + sep + viaturas[index].CVTipoVeículo.ToString("f2") + sep + viaturas[index].CVCaixa + sep + viaturas[index].CVPrimeiraMatrícula.ToShortDateString()
                    + sep + viaturas[index].CVNúmeroRegistos.ToString("f2") + sep + viaturas[index].CVKMPercorridos.ToString("f2") + sep + viaturas[index].CVDescriçãoVeículo +
                    sep + viaturas[index].CVPreçoAquisição.ToString("f2") + sep + viaturas[index].CVPreçoProposto.ToString("f2") + sep + viaturas[index].CVPreçoVenda.ToString("f2") +
                    sep + viaturas[index].CVNomeCliente;
                return str;
            }
            public void EliminarViatura(int index)
            {
                for (int i = index; i < NumElementos - 1; i++)
                {
                    viaturas[i] = viaturas[i + 1];
                }
                NumElementos--;
                if (pointer == NumElementos)
                    pointer--;
            }
        }
    }`
    

1 个答案:

答案 0 :(得分:1)

假设大小在<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Emulator</title> <base href="./././"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="favicon.ico"> </head> <body> <app-root></app-root> <script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="polyfills.bundle.js"></script><script type="text/javascript" src="styles.bundle.js"></script><script type="text/javascript" src="vendor.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script></body> </html>

中定义
TextBox1

但请注意,直接从用户获取数组大小并不是一个好主意,但您可以在确定用户需要之后自己定义数组大小。

如果在NumericUpDown中定义了大小,则:

int size = 20;
int.TryParse(TextBox1.Text, out size);
public ArrayColab colaborators = new ArrayColab(size);