我有一个附加到“下一步”按钮的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/