Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取返回的数组列表中第一个索引的值_C#_Arrays_List - Fatal编程技术网

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

C# 如何获取返回的数组列表中第一个索引的值,c#,arrays,list,C#,Arrays,List,我正在使用C窗口窗体 我有一个类中某个函数的数组列表,我将该函数调用到表单中 函数返回数组列表,如何获取数组的值 这是我的数组代码列表 public List<string[]> getAccounts() { List<string[]> account = new List<string[]>(); while (*condition*) { string[] use

我正在使用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*);
        }

使用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]);
}

我认为使用SelectMany会更好

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

编辑:

对不起,我是瞎子,你可以不用选择很多,你可以用选择

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

这应该可以做到:

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