C# 用Lambda中的起始字母搜索

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

我想设置一个按钮,当我按下它时,它将在文本框中获取字符串,并在以该字符串或字符开头的数据表中查找某个字段上的所有记录。 然后在列表框或DataGridViewer中显示结果

这是我已经实现的一点点代码,但我不能继续

   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.
}

那怎么不起作用?那怎么不起作用?最好给我解释一下,谢谢:)最好给我解释一下,谢谢:)