无法将lambda表达式转换为bool类型

本文关键字:bool 类型 转换 表达式 lambda | 更新日期: 2023-09-27 18:05:07

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

protected void button1_Click(object sender, EventArgs e)
    {

        int totalpoints;
        Int32 realpoints;
        lelpoints = 0;
        totalpoints = Convert.ToInt32(dPts.Text);
        totalpoints = totalpoints + 1;
        totalpoints = realpoints;
        dPts.Text = totalpoints.ToString();
    }

    protected void buyBG_Click(object sender, EventArgs e)
    {
        string[] rbg = new string[] { "red", "green", "blue" };

        Random random = new Random();
        int randomNumber = random.Next(0, 3);
        string currentbg = rbg[randomNumber];
        if (realpoints => 10 ){}
这是我在上面提供的代码中遇到的问题。问题显示在底部的If语句中。

编辑:将=>更改为>=绝对解决了这个问题,但现在它报告了一个错误"名称realpoints在当前上下文中不存在"。谢谢你

无法将lambda表达式转换为bool类型

不是=>,而是>=

=>lambda操作符与大于等于>=的操作符不同

您可以将=> (lambda符号)读取为"goes to"。表示您正在将参数传递给委托主体。在你的例子中,realpoints => 10意味着realpoints是一个参数,10是一个主体,这个主体不是bool类型(10不是bool)。

例如,你有一个整数列表:List intList = new List {10,14,5,17};

如果你想在列表中找到第一个大于10的整数,那么你可以使用lambda表达式,像这样int numberFound = intList。Find(x => x> 10);

谢谢,谁