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

本文关键字:第一个 索引 返回 数组 列表 | 更新日期: 2023-09-27 18:11:57

我使用c# windows form

我有一个来自类中的函数的数组列表,并且我将该函数调用到表单中函数返回数组的列表,我如何得到数组的值?

这是我的数组代码列表

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

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

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

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

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

这应该可以完成工作:

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

我认为使用SelectMany会更好。

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

AddRange

SelectMany

编辑:

对不起,我看不见,你可以不选择许多-你可以直接使用选择

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