我正在尝试使用“ &&”构造一个lambda表达式,但遇到一条错误消息:
错误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”处。
答案 0 :(得分:4)
您只需指定一次lambda输入变量(p =>
),右侧只是一个表达式,可以随意使用输入p
...Where(p => p.CandidateName == candidateResult && p.FileIdentification == fileResult);
Lambda expressions (C# Programming Guide)
要创建lambda表达式,请指定输入参数(如果有) 在lambda运算符=>的左侧,您将表达式 或另一边的语句块
答案 1 :(得分:1)
应该是:
p => p.CandidateName == candidateResult && p.FileIdentification == fileResult