我正在从 Gridview 中选择选中的行。为此,我使用动态关键字编写了一个 lambda 表达式。
var dn = gvLoans.Rows.OfType<dynamic>().Where(s => s.FindControl("chkSelect").Checked == true).Select(s => s.FindControl("lblCD")).ToList();
我想要列表中的输出。是否可以通过扩展查询来实现,或者我必须编写 foreach 语句。
最佳答案
公然撕毁作为答案发布的评论。
List<int> lst = gvRankDetails.Rows
.OfType<GridViewRow>()
.Where(s => ((CheckBox)s.FindControl("chkSelect")).Checked)
.Select(s => Convert.ToInt32(((Label)s.FindControl("lblCD")).Text))
.ToList();
OfType 是必需的,因为 GridViewRowCollection 实现了 IEnumerable
但不是 IEnumerable<T>
.
public class GridViewRowCollection : ICollection, IEnumerable
关于c# - 如何将 Lambda 表达式输出转换为 List<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5294486/