C# 用Lambda中的起始字母搜索
我想设置一个按钮,当我按下它时,它将在文本框中获取字符串,并在以该字符串或字符开头的数据表中查找某个字段上的所有记录。 然后在列表框或DataGridViewer中显示结果 这是我已经实现的一点点代码,但我不能继续C# 用Lambda中的起始字母搜索,c#,linq-to-sql,lambda,C#,Linq To Sql,Lambda,我想设置一个按钮,当我按下它时,它将在文本框中获取字符串,并在以该字符串或字符开头的数据表中查找某个字段上的所有记录。 然后在列表框或DataGridViewer中显示结果 这是我已经实现的一点点代码,但我不能继续 private void button3_Click(object sender, EventArgs e) { MyLinqDataContext MyData = new MyLinqDataContext(); MyList myL
private void button3_Click(object sender, EventArgs e)
{
MyLinqDataContext MyData = new MyLinqDataContext();
MyList myLambda = MyData.MyLists.First(lambda => lambda.First_Name.StartsWith(TxtFirstName.Text));
}
提前感谢:)如果要查找所有不想使用的记录,请先使用
.First()
private void button3_Click(object sender, EventArgs e)
{
MyLinqDataContext MyData = new MyLinqDataContext();
MyList myLambda = MyData.MyLists.Where(lambda => lambda.First_Name.StartsWith(TxtFirstName.Text[0].ToString()));
}
上面使用字符串[0]的第一个索引来检索第一个字符。如果要查找所有不想使用的记录,请使用。first()
private void button3_Click(object sender, EventArgs e)
{
MyLinqDataContext MyData = new MyLinqDataContext();
MyList myLambda = MyData.MyLists.Where(lambda => lambda.First_Name.StartsWith(TxtFirstName.Text[0].ToString()));
}
上面使用字符串[0]的第一个索引来检索第一个字符。1)first
在linq中,返回单个记录。您需要使用Where
返回列表
2) linq中的其中
将返回类型为IEnumerable
的集合。之后您需要对其调用.ToList()
,或者使用var
作为类型
3) 只要原始表是可查询的格式,就不需要创建新的数据上下文来运行此操作
最后的代码,举例说明
private void button3_Click(object sender, EventArgs e)
{
var myLambda = MyDataTable.AsEnumerable().Where(lambda => lambda.Field<string>("First_Name").StartsWith(TxtFirstName.Text));
//var should be of the type IEnumerable<DataRow>
//from here, we can use this var as the DataSource for another display
resultsBox.DataSource = myLambda;
//assuming resultsBox can interpret a datarow correctly.
//You may need to select First_Name only, or some other data, out of the returned values.
}
1) 首先
在linq中,返回一条记录。您需要使用Where
返回列表
2) linq中的其中
将返回类型为IEnumerable
的集合。之后您需要对其调用.ToList()
,或者使用var
作为类型
3) 只要原始表是可查询的格式,就不需要创建新的数据上下文来运行此操作
最后的代码,举例说明
private void button3_Click(object sender, EventArgs e)
{
var myLambda = MyDataTable.AsEnumerable().Where(lambda => lambda.Field<string>("First_Name").StartsWith(TxtFirstName.Text));
//var should be of the type IEnumerable<DataRow>
//from here, we can use this var as the DataSource for another display
resultsBox.DataSource = myLambda;
//assuming resultsBox can interpret a datarow correctly.
//You may need to select First_Name only, or some other data, out of the returned values.
}
那怎么不起作用?那怎么不起作用?最好给我解释一下,谢谢:)最好给我解释一下,谢谢:)