Hier ist mein CodeWie Linq und die IN-Klausel
if (catid != 0)
posts = posts.Where(x => x.catid IN '1,8,2,109,23');
Die in verwenden in diesem Code als Syntaxfehler zeigt. Gibt es eine Möglichkeit, dies zu beheben
Hier ist mein CodeWie Linq und die IN-Klausel
if (catid != 0)
posts = posts.Where(x => x.catid IN '1,8,2,109,23');
Die in verwenden in diesem Code als Syntaxfehler zeigt. Gibt es eine Möglichkeit, dies zu beheben
Sie müssen auch eine andere Liste zu vergleichen.
List<int> cadIdFoundList = new List<int>();
cadIdFoundList.Add(1);
cadIdFoundList.Add(8);
// etc. . .
posts.Where(x => cadIdFoundList.Contains(x.catId));
int[] ids = new int[] { 1, 8, 2, 109, 23 };
var query = posts.Where(x => ids.Contains(x.catid));
Rob Conery hat discussed dieses vor Thema.
Oder noch einfacher:
var query = posts.Where(x => new[] { 1, 8, 2, 109, 23 }.Contains(x.catid));
Es ist eine Schande, dass wir das neue [] dort setzen müssen. Wäre es nicht cool, wenn wir einfach {1, 7, 3, 5}. : D –
Vielleicht etwas mehr wie:
HashSet<int> categories = new HashSet<int>() { 1, 2, 8, 23, 109};
posts = posts.Where(post => categories.Contains(post.catid));
kühlen. Danke..Es funktioniert – Luke101