如何在返回的数组列表中获取第一个索引的值

时间:2014-07-07 08:43:22

标签: c# arrays list

我使用的是C#窗体

我有一个类中的函数列表,我将函数调用到表单中 该函数返回了一个数组列表,如何获取数组的值?

这是我的数组代码列表

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

4 个答案:

答案 0 :(得分:7)

使用lambda表达式遍历列表并选择名字

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

答案 1 :(得分:1)

没有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]);
}

答案 2 :(得分:0)

我认为使用SelectMany会更好。

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

AddRange

SelectMany

修改

对不起,我是盲人,没有选择很多就可以做到 - 你可以选择

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

答案 3 :(得分:0)

这应该做的工作:

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