C# Linq where 子句
C# Linq where clause
我正在尝试创建一个 linq 查询,其中子句是一个基于用户选择的构造变量
if (!string.IsNullOrEmpty(txbbox.Text))
{
query = "s.date== DateTime.Parse(txbbox.Text)";
}
if (!string.IsNullOrEmpty(txbbox.Text))
{
query = query + " & (s.type.Contains(txbbox.Text))";
}
有一种方法可以在 LINQ 查询中传递 where 子句中内置的变量吗?
Stemp = (from s in SList
where ***query***
orderby s.DataScadenza
select s).ToList();
是;在这种情况下非常简单,实际上:
IEnumerable<Whatever> query = SList; // avoid var here, as will impact later assignment
if (!string.IsNullOrEmpty(txbbox.Text))
{
var when = DateTime.Parse(txbbox.Text); // to avoid parsing per item
query = query.Where(s => s.date == when);
}
if (!string.IsNullOrEmpty(txbbox.Text))
{
query = query.Where(s => s.type.Contains(txbbox.Text));
}
Stemp = query.OrderBy(s => s.DateScadenze).ToList();
我正在尝试创建一个 linq 查询,其中子句是一个基于用户选择的构造变量
if (!string.IsNullOrEmpty(txbbox.Text))
{
query = "s.date== DateTime.Parse(txbbox.Text)";
}
if (!string.IsNullOrEmpty(txbbox.Text))
{
query = query + " & (s.type.Contains(txbbox.Text))";
}
有一种方法可以在 LINQ 查询中传递 where 子句中内置的变量吗?
Stemp = (from s in SList
where ***query***
orderby s.DataScadenza
select s).ToList();
是;在这种情况下非常简单,实际上:
IEnumerable<Whatever> query = SList; // avoid var here, as will impact later assignment
if (!string.IsNullOrEmpty(txbbox.Text))
{
var when = DateTime.Parse(txbbox.Text); // to avoid parsing per item
query = query.Where(s => s.date == when);
}
if (!string.IsNullOrEmpty(txbbox.Text))
{
query = query.Where(s => s.type.Contains(txbbox.Text));
}
Stemp = query.OrderBy(s => s.DateScadenze).ToList();