c#使用用户输入创建列表

时间:2016-12-14 18:57:53

标签: c#

我对c#很新,并且对列表有困难。

我创建的应用程序会接收用户的姓名,年龄和地址,然后在用户点击“添加”按钮时将其存储在列表中。按钮。 我使用带有文本框的GUI进行用户输入。

我创建了一个Customer类,并且不确定下一步该做什么。我已经关注了教程和其他问题,但似乎无法找到答案。

public class Customer
{
    private string name;
    private Int32 age;
    private string address1;
    private string address2;
    private string address3;


    public string Name
    {
        get
        {
            return name;
        }

        // if name is blank throw argument asking user for input

        set
        {
            if (name == "")
            {
                throw new ArgumentException("Please enter your name");
            }
            else 
            {
                name = value;
            }
        }
    }

    public Int32 Age
    {
        get
        {
            return age;
        }

        set
        {
                age = value;
        }
    }


    // get/set address

    public string Address1
    {
        get
        {
            return address1;
        }

        set
        {
            if (address1 == "")
            {
                throw new ArgumentException("Please enter your address");
            }
            else
            {
                address1 = value;
            }
        }
    }

    public string Address2
    {
        get
        {
            return address2;
        }

        set
        {
            if (address2 == "")
            {
                throw new ArgumentException("Please enter your adress");
            }
            else
            {
                address2 = value;
            }
        }
    }

    public string Address3
    {
        get
        {
            return address3;
        }


        set
        {
            if (address3 == "")
            {
                throw new ArgumentException("Please enter your adress");
            }
            else
            {
                address3 = value;
            }
        }
    }

2 个答案:

答案 0 :(得分:2)

这是一个简单的Windows窗体表单示例,可以为您提供一个想法。基本上,您希望将客户列表存储在私有通用列表变量中。有关如何在C#here中使用通用和非通用列表的更多信息。

public partial class Form1 : Form
{
    // Initialize private generic list where all customers will be stored at runtime
    private List<Customer> _customers = new List<Customer>();

    private void buttonAddCustomer_Click(object sender, EventArgs e)
    {
        // It might be a good idea to add some validation logic before assigning the input values
        var newCustomer = new Customer();
        newCustomer.Name = this.textBoxName.Text;
        newCustomer.Age = Convert.ToInt32(this.textBoxAge.Text);
        newCustomer.Address1 = this.textBoxAddress1.Text;
        newCustomer.Address2 = this.textBoxAddress2.Text;
        newCustomer.Address3 = this.textBoxAddress3.Text;

        _customers.Add(newCustomer);
    }
}

enter image description here

答案 1 :(得分:0)

我认为你要找的是MakeItHappen()方法

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace _41150122
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btn_Go_Click(object sender, EventArgs e)
        {
            MakeItHappen();
        }

        private void MakeItHappen()
        {
            List<Customer> customerList = new List<Customer>();//initialize your List<Customer>
            customerList.Add(new Customer { Name = txtbx_Name.Text, Address1 = txtbx_Address1.Text, Age = int.Parse(txtbx_Age.Text) });//add a record to it
        }
    }



    public class Customer
    {
        private string name;
        private Int32 age;
        private string address1;
        private string address2;
        private string address3;


        public string Name
        {
            get
            {
                return name;
            }

            // if name is blank throw argument asking user for input

            set
            {
                if (name == "")
                {
                    throw new ArgumentException("Please enter your name");
                }
                else
                {
                    name = value;
                }
            }
        }

        public Int32 Age
        {
            get
            {
                return age;
            }

            set
            {
                age = value;
            }
        }


        // get/set address

        public string Address1
        {
            get
            {
                return address1;
            }

            set
            {
                if (address1 == "")
                {
                    throw new ArgumentException("Please enter your address");
                }
                else
                {
                    address1 = value;
                }
            }
        }

        public string Address2
        {
            get
            {
                return address2;
            }

            set
            {
                if (address2 == "")
                {
                    throw new ArgumentException("Please enter your adress");
                }
                else
                {
                    address2 = value;
                }
            }
        }

        public string Address3
        {
            get
            {
                return address3;
            }


            set
            {
                if (address3 == "")
                {
                    throw new ArgumentException("Please enter your adress");
                }
                else
                {
                    address3 = value;
                }
            }
        }


    }
}