2016-12-14 12 views
1

Ich bin ziemlich neu zu C# und Schwierigkeiten mit Listen.C# Erstellen einer Liste mit Benutzereingabe

Ich erstelle eine Anwendung, die den Namen, das Alter und die Adresse eines Benutzers annimmt und sie dann in einer Liste speichert, wenn der Benutzer auf die Schaltfläche "Hinzufügen" klickt. Ich benutze eine GUI mit Textfeldern für Benutzereingaben.

Ich habe eine Kundenklasse erstellt und bin mir nicht sicher, was ich als nächstes tun soll. Ich habe Tutorials und andere Fragen verfolgt, finde aber keine Antwort.

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

Sie sind über die Verwendung einer Liste keinen Code zeigt. Das ist es, was wir brauchen, um dir zu helfen. – krillgar

+0

Recherchieren Sie generische Listen: https://msdn.microsoft.com/en-us/library/6sh2ey19(v=vs.110).aspx. Schau dir die Beispiele an. In Ihrem Fall wäre der generische Parameter Ihre "Kunden" -Klasse. –

+1

In der 'Name' Eigenschaft Setter werfen Sie Ausnahme, wenn' Name' leer ist. Ich nehme an, Sie wollten eine Ausnahme auslösen, wenn 'value' null oder leer ist:' if (string.IsNullOrEmpty (value)) wirft new ArgumentException() ... ' –

Antwort

2

Dies ist ein Beispiel einer einfachen Windows Forms-Formular, das Ihnen eine Idee geben. Grundsätzlich möchten Sie die Liste der Kunden in einer privaten generischen Listenvariablen speichern. Weitere Informationen zum Verwenden von generischen und nicht generischen Listen in 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

danke für die Hilfe! – skittles

0

Ich denke, was Sie suchen in der MakeItHappen() Methode ist

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


    } 
} 
Verwandte Themen