我想知道下面的源代码中的c是什么。你能解释一下我在做什么吗?
private void txtFamilytoSearch_TextChanged(object sender, EventArgs e)
{
var db = new LINQDataContext();
if (txtFamilytoSearch.Text == "")
gvTable.DataSource = db.MyTables;
else
gvTable.DataSource = db.MyTables.Where(c => c.Family.Substring(0, txtFamilytoSearch.Text.Length) == txtFamilytoSearch.Text).Select(c => c);
}
这是linq技术中C#代码的一部分。
谢谢; - )
答案 0 :(得分:2)
当您使用Linq
where
时,它会迭代集合中的每个项目并应用您提供的谓词。
在这种情况下,c
代表集合db.MyTables
答案 1 :(得分:1)
它是集合中当前迭代元素的标识符。这和你写的一样
var result = new List<T>; // here T is the actual type of your list
foreach(var c in db.MyTables)
{
if (c.Family.Substring(0, txtFamilytoSearch.Text.Length) == txtFamilytoSearch.Text)
{
result.Add(c);
}
}