2014-07-07 73 views
0

的返回列表我使用C#Windows窗體我如何獲得第一指數的值陣列

我有陣列的列表,從一個類中的函數,我調用的函數到表格 的函數返回數組列表,我如何獲得數組的值?

這裏是我的陣列碼錶

public List<string[]> getAccounts() 
    { 
     List<string[]> account = new List<string[]>(); 

     while (*condition*) 
     { 
      string[] users = new string[2]; 
      users[0] = user["firstname"].ToString(); 
      users[1] = user["lastname"].ToString(); 
      account.Add(users); 
     } 
     return account; 
    } 

,當我打電話我想告訴所有的名字到一個列表框的功能以及姓氏到另一個列表框

 for (int i = 1; i <= acc.getAccounts().Count; i++) 
     { 
      listBoxFirstname.Items.Add(*all the first name from the list*); 
     } 

回答

7

使用lambda表達式遍歷列表並選擇名字

account.ForEach(s => listBoxFirstname.Items.Add(s[0])); 
1

Witho ut lambda表達式:

List<string[]> accounts = acc.getAccounts() 
for (int i = 1; i < accounts ; i++) 
{ 
    listBoxFirstname.Items.Add(account[i][0]); 
    listBoxLastname.Items.Add(account[i][1]); 
} 
0

我認爲使用SelectMany會更好。

listBoxFirstname.Items.AddRange(acc.getAccounts().SelectMany(item=>item[0])) 

AddRange

SelectMany

編輯:

對不起,我瞎了,你可以不用選擇很多 - 你可以使用選擇

listBoxFirstname.Items.AddRange(acc.getAccounts().Select(item=>item[0])) 
0

這應該做這份工作:

List<string> firstNames = account.Select(item => item[0]).ToList();