在两组整数值中使用三元运算符 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);)