我的问题是我试着写一个lambda表达式!问题是我不确定我做得对。
var result = dataset.student.Where(n => n.ID == num);
**num is a value recieved from id text box
var结果存储我的对象从数据库(这是一个人)拉出,所以现在我需要分配文本框" FirstNameTxtBox"结果FirstName
this.FirstNameTextBox = result.Where(n=>n.FirstName);
这是我失败的地方,因为我的表达不会出现"无法将String转换为bool。说实话,不确定这是不是正确的表达方式。 希望这很清楚。
答案 0 :(得分:2)
应该是:
this.FirstNameTextBox.Text = result.Select(n => n.FirstName).FirstOrDefault();
答案 1 :(得分:0)
您需要使用扩展名First或FirstOrDefault获取查询结果。
阅读更多内容:https://msdn.microsoft.com/en-us/library/bb397687.aspx
this.FirstNameTextBox.Text = result.Where(n=>n.FirstName).First();
或
this.FirstNameTextBox.Text = dataset.student.FirstOrDefault(n => n.ID == num).FirstName;
答案 2 :(得分:0)
你甚至不需要lambda。简单得到结果的第一项。
this.FirstNameTextBox.Text = result.First().FirstName;
// or
this.FirstNameTextBox.Text = result[0].FirstName;
或者从头开始简化
this.FirstNameTextBox.Text = dataset.student.First(n => n.ID == num).FirstName;
答案 3 :(得分:0)
我总是喜欢使用FirstOrDefault()并检查它是否为null:
var result = dataset.student.Where(n => n.ID == num).FirstOrDefault();
if(result != null)
{
this.FirstNameTextBox.Text = result.FirstName;
}