2013-12-16 118 views
1

我想和不同的項目或我應該怎麼稱呼它的列表。我的意思是例如。多個不同的項目

public class form1 
{ 
    public List<string> information = new List<string>(); 
} 

,我希望它包含與ID,名稱和PhoneNumber這樣的文本框的信息:

private void btnForm_Click(object sender, EventArgs e) 
{ 
    Form2 Form1= new Form2(); 

    Form1.Show(); 

    class Form2a = new Form2(); 
    a.information.Add(txtId.Text); 
    a.information.Add(txtName.Text); 
    a.information.Add(txtPhonenumber.Text); 
} 

然後將充滿了我們所謂誰擁有不同的ID不同的客戶,名字和phonenumbers。

然後,我想要得到的信息,以另一種形式。

有人可以幫我或給我如何提示?

+0

取而代之的是'名單的'使用'名單''那裏是Customer'具有這些屬性的自定義類。 –

+1

那麼,你現在有什麼問題? –

+1

你正在調用'Form2','Form1'的一個實例。這是真的,*真的*的意思。 – Servy

回答

5

您應該命名Customer或類似的自定義類,並創建一個List<Customer>。這將允許您將UI元素(文本框)轉換爲正確類型的Customer實例並存儲它們。

3

您應該組使用class然後創建並添加類的實例到您的列表信息。下面是一個示例類和其他代碼,您可能會發現有幫助。隨意問你是否有問題。

public class PersonInfo 
{ 
    public string Name; 
    public string Id; 
    public string phoneNumber; 
} 


List<PersonInfo> persons = new List<PersonInfo>(); 
// after reading values 
persons.Add(new PersonInfo(txtName.Text, txtId.Text, txtPhoneNumber.Text)); 

// if you don't have a constructor like that defined; 

personse.Add(new PersonsInfo { 
        Name = txtName.Text; 
        Id = txtId.Text; 
        PhoneNumber = txtPhoneNumber.Text; 
      }); 

// get a user by Id 

PersonInfo p = persons.Where(x => x.Id == "that other Id").FirstOrDefault(); 

if (p != null) 
    // we found our person 
+0

我覺得它看起來不錯,但我有一些問題。 我爲personinfo創建了一個新類,並且在那個類中我也列出了這個列表。但我不能得到它的工作 – user3076791

+0

@ user3076791你的類定義是比我有點不同。密切關注我的代碼。你不'想要'人員'列表是該類的一個屬性。你應該從'Class1'中刪除這個道具,然後在'List '的同一個地方聲明一個'List '。 – evanmcdonnal

0

我在這裏做錯了什麼? 這是在Form1

私人無效的button1_Click(對象發件人,EventArgs的)

{ 
     Class1 a = new Class1(); 
     a.persons.Add(new persons (txtName.Text, txtId.Text, txtPhonenumber.Text)); 

    } 

這是CLASS1我創建

{ 類class1 { 公共字符串名稱的新類; public string Id; public string phoneNumber; public List persons = new List(); }

}

+0

我不明白它出錯的地方。我有複製並粘貼你剛剛發佈的代碼,仍然有錯誤。對你起作用嗎? – user3076791