我有一个附加到“下一步”按钮的LINQ查询。我想在表单中的某些字段中显示结果。截至目前,当我按下“下一步”按钮时,我只能显示一个元素,而当我再次按下“下一步”按钮时,我只能显示一个元素

    private void btnNext_Click(object sender, EventArgs e)
    {
        btnPrevious.Enabled = true;
        int count = 1;

        var elements =
            from element in list
            select element;

        if(count <= elements.Count())
        {
            FName.Text = elements.ElementAt(count).fName;
            LName.Text = elements.ElementAt(count).lName;
            Phone.Text = elements.ElementAt(count).Phone;
            Gpa.Text = elements.ElementAt(count).Gpa.ToString();

            count++;
        }
    }


基本上,每次我按“下一步”按钮时,我都希望一直显示列表中的元素,直到到达列表末尾。

最佳答案

每次按下一步,将重新将计数初始化为1。将变量声明移至私有实例字段:

class MyApp {
    // ...
    private int count = 0;
}


您还需要将count更改为零索引,因为ElementAt为零索引。只需将count初始化为0,然后将条件更改为if (count < elements.Count())即可。

请注意,在您的代码中,您可以直接在list上使用LINQ扩展方法,而无需创建elements

关于c# - 当按下“下一步”按钮时,如何保持显示LINQ结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4298166/

10-12 21:55