代码之家  ›  专栏  ›  技术社区  ›  Trey Balut

Lambda表达式&&

  •  0
  • Trey Balut  · 技术社区  · 7 年前

    我试图构造一个带有“&”的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];
                }
            }
    

    2 回复  |  直到 7 年前
        1
  •  4
  •   TheGeneral    7 年前

    您只需要指定lambda输入变量( p => )曾经,右边只是一个表达式,可以使用输入 p

    ...Where(p => p.CandidateName == candidateResult && p.FileIdentification == fileResult);
    

    Lambda expressions (C# Programming Guide)

    要创建lambda表达式,请指定输入参数(如果有) 在lambda运算符的左侧=>,你把这个表情 或另一侧的语句块

        2
  •  1
  •   Kirill Polishchuk    7 年前

    应该是:

    p => p.CandidateName == candidateResult && p.FileIdentification == fileResult