2015-03-08 80 views
-1

我試圖做一個簡單的修改列表中的項目按索引。搜索列表和更新在該特定索引

比方說在我的foreach循環:

foreach (User usr in userList) 
    { 
     if (uname.Text == usr.uname) 

如果匹配我鍵入的內容中,我怎麼能在那個特定的索引更新整個項目?謝謝!

+0

你的問題不是很清楚。你是否試圖更新用戶列表中的項目? – 2015-03-08 18:11:40

+0

是的即時通訊嘗試更新特定索引中的項目,每個索引包含(uname,密碼,地址,電話,電子郵件)。我怎樣才能只更新uname,地址,電話和電子郵件,而不更新密碼? – ags 2015-03-08 18:24:58

回答

1

如果你想一個新的實例分配到特定索引項使用的是for循環:

for(int i = 0; i<userList.Count; i++) 
{ 
     if (uname.Text == userList[i].uname) 
     { 
      userList[i] = /* new instance */ 
     } 
} 
+0

如果在每個索引包含(uname,密碼,地址,電話,電子郵件),我不是很好的C#。我如何只更新uname,地址,電話和電子郵件,並讓密碼保持不變? – ags 2015-03-08 18:23:50

0

假設在用戶列表中的每個對象包含信息(uname,密碼,地址,電話,電子郵件)的代碼應該是這個樣子:

foreach (User usr in userList) 
{ 
    if (uname.Text == usr.uname) 
    { 
     uname.Email= newEmail; // where newEmail is local variable with new value for password 
     uname.Phone = newPhone; 
     // ... changing other properties, just don't change Password property 
    } 
} 

基本上,當你發現你想改變的對象,就可以直接訪問它的公共屬性和方法。