在两组整数值中使用三元运算符 select
Using ternary operator to select among two sets of integer values
我有两组整数值,如下所示
int[] x = {12,4,7,23,1,21,3,34,15,11,35,39,19,31}
int[] y = {28,9,17,8,2,20}
我必须根据以下条件选择一套
var useID = (PermitType == 1)? x:y;
我将在我的 LINQ 查询中使用它,如下所示
var query = from NC in dbContext.NC
where NC.useID in useID
select NC;
var output = query.ToList();
这是正确的方法吗?
条件(三元)运算符后的 useID
将具有一个 int
值数组。您可以在 LINQ 查询中使用,例如:
var query = from NC in dbContext.NC
where useID.Contains(NC.useID)
select NC;
或使用方法语法:
var query = dbContext.NC.Where(row => useID.Contains(row.useID);
就此 where NC.useID in useID
语法而言,您必须使用 Contains
来表示 (SELECT * FROM YourTable where col1 IN (1,2,3);
)
我有两组整数值,如下所示
int[] x = {12,4,7,23,1,21,3,34,15,11,35,39,19,31}
int[] y = {28,9,17,8,2,20}
我必须根据以下条件选择一套
var useID = (PermitType == 1)? x:y;
我将在我的 LINQ 查询中使用它,如下所示
var query = from NC in dbContext.NC
where NC.useID in useID
select NC;
var output = query.ToList();
这是正确的方法吗?
条件(三元)运算符后的 useID
将具有一个 int
值数组。您可以在 LINQ 查询中使用,例如:
var query = from NC in dbContext.NC
where useID.Contains(NC.useID)
select NC;
或使用方法语法:
var query = dbContext.NC.Where(row => useID.Contains(row.useID);
就此 where NC.useID in useID
语法而言,您必须使用 Contains
来表示 (SELECT * FROM YourTable where col1 IN (1,2,3);
)