无法将Lambda表达式转换为比较两个整数。

3

无法将lambda表达式转换为类型“bool”,因为它不是委托类型

在比较两个整数的if语句“if(UserLevelID => dbMinimunlevelID)”中

如何将一个保存计数的变量与另一个整数进行比较?

 //Check if user has enough credits to create ClassCharacter       
        public bool CheckMinimunCreditforClassCharacter(Guid UserID, int ClassCharacterID, int Levelid)
        {

        bool Results = true;

        //Check Character Creation Rules
        int dbMinimunlevelID = 0;
        bool AdditionalCharactersRequired = false;
        int AdditionalCharactersPoints = 0;

        var query = (from o in db.ClassCharacters
                     where o.ClassCharacterID == ClassCharacterID
                     select o);   

        foreach (var v in query)
        {
            dbMinimunlevelID = v.MinimumPoints;
            AdditionalCharactersRequired = v.AdditionalCharactersRequired;
            AdditionalCharactersPoints = v.AdditionalCharactersPoints;
        }

        if (dbMinimunlevelID > 0)
        {
            //Check User existing Characters
            int UserLevelID = db.Characters.Where(o => o.UserId == UserID)
                         .Max(o => o.LevelID);

            //************ Here is where the error appears
            if (UserLevelID => dbMinimunlevelID)
            {
                Results = true;
            }
            else
            {
                Results = false;
            }

        }

        return Results;
    }
2个回答

10

替换:

if (UserLevelID => dbMinimunlevelID)

使用:

if (UserLevelID >= dbMinimunlevelID)

=> 是lambda运算符,而 >=(大于等于)用于比较。


令人难以置信。我从来没有想到过。 - MataHari
我给你点赞,这样就有10个赞和“不错的答案”徽章了。 - Nikhil Agrawal

4

您正在使用=>,也就是右括号,来创建一个lambda表达式。

在比较时,请改用>=


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接