Я пытаюсь создать лямбда-выражение с помощью «&&», но получаю сообщение об ошибке:
Ошибка CS1003 Синтаксическая ошибка, ожидается ','
Вот мой код.
using (var db = new SQLite.SQLiteConnection(dbPath))
{
string candidateResult = candidatedetails[0].ToString();
string fileResult = candidatedetails[1].ToString();
var list = db.Table<Candidates>().ToList();
var cand = db.Table<Candidates>().Where(p => p.CandidateName == candidateResult && p => p.FileIdentification == fileResult);
foreach (Candidates can in cand)
{
string[] FileIDSplit = can.FileIdentification.Split('_');
CandidateName = can.CandidateName;
CandidateParty = can.CandidateParty;
ElectionYear = FileIDSplit[0];
ElectionType = FileIDSplit[1];
Race = FileIDSplit[2];
}
}
Ошибка возникает во втором "p=>p."





Вам нужно только один раз указать входную лямбда-переменную (p =>), правая часть — это просто выражение, и вы можете использовать вход p по своему желанию.
...Where(p => p.CandidateName == candidateResult && p.FileIdentification == fileResult);
Лямбда-выражения (Руководство по программированию на C#)
To create a lambda expression, you specify input parameters (if any) on the left side of the lambda operator =>, and you put the expression or statement block on the other side
Должен быть:
p => p.CandidateName == candidateResult && p.FileIdentification == fileResult