2016-12-14 8 views
1

私はかなり新しく、リストに問題があります。c#ユーザー入力によるリストの作成

ユーザーの名前、年齢、およびアドレスを入力し、ユーザーが[追加]ボタンをクリックするとリストに保存するアプリケーションを作成しています。 私は、ユーザー入力用のテキストボックスを持つGUIを使用しています。

私は顧客クラスを作成して、次に何をするか不明です。私はチュートリアルやその他の質問に従ってきましたが、答えが見つからないようです。

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; 
      } 
     } 
    } 
+0

であると思います。それが私たちがあなたを助けるために必要なものです。 – krillgar

+0

一般的なリストの研究:https://msdn.microsoft.com/en-us/library/6sh2ey19(v=vs.110).aspx。例を見てください。あなたの場合、ジェネリックパラメータはあなたの 'Customer'クラスでしょう。 –

+1

'Name'プロパティセッターで、' name'が空であれば例外をスローします。あなたが 'value'がnullでも空でも例外をスローしたいと思っています:' if(string.IsNullOrEmpty(value))throw new ArgumentException()... ' –

答えて

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

+0

助けてくれてありがとう! – skittles

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


    } 
} 
関連する問題