首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#用户定义的数组大小

C#用户定义的数组大小
EN

Stack Overflow用户
提问于 2017-08-31 13:29:47
回答 1查看 679关注 0票数 0

如下所示:

  1. 创建车辆的类(Viatura)。
  2. 另一个类(ArrayViatura),它创建一个车辆数组和后续方法。

在表单中,我有让用户在执行表单中的任何其他操作之前,定义这个车辆数组(numericupdown1)的大小

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

提前谢谢!

以下是守则:

类Viatura

代码语言:javascript
复制
`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; }

        }
    }
}`

类ArrayViatura

代码语言:javascript
复制
`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--;
        }
    }
}`

窗体代码

代码语言:javascript
复制
`namespace IP_GonçaloDias_G00
{
    public partial class RegistoViaturas : Form
    {

        string cvMatrícula="";
        string cvMarca = "";
        string cvModelo = "";
        string cvAnoFabrico = "";
        string cvTipoPropulsão = "";
        string cvCilindrada = "";
        string cvPotência = "";
        double cvAceleração = 0;
        string cvConsumoMédio = "";
        string cvCor = "";
        int cvTipoVeículo = 0;
        string cvCaixa = "";
        DateTime cvPrimeiraMatrícula=DateTime.Now;
        int cvNúmeroRegistos = 0;
        double cvKMPercorridos = 0;
        string cvDescriçãoVeículo = "";
        double cvPreçoAquisição = 0;
        double cvPreçoProposto = 0;
        double cvPreçoVenda = 0;
        DateTime cvDataVenda = DateTime.Now;
        string cvNomeCliente = "";
        public RegistoViaturas()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void button7_Click(object sender, EventArgs e)
        {
            int size= Convert.ToInt32(numericUpDown1.Value);
            ArrayViaturas viaturas = new ArrayViaturas(size);

            MessageBox.Show("O tamanho definido para o Array é:   " + viaturas.viaturas.Length);
            groupBox2.Enabled = true;
        }
    }
}`
EN

回答 1

Stack Overflow用户

发布于 2017-08-31 13:31:13

假设大小是在TextBox1中定义的

代码语言:javascript
复制
int size = 20;
int.TryParse(TextBox1.Text, out size);
public ArrayColab colaborators = new ArrayColab(size);

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

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

代码语言:javascript
复制
public ArrayColab colaborators = new ArrayColab(NumericUpDown1.Value);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45982695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档