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

时间:2015-07-28 17:29:42

标签: c# types lambda boolean

无法将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"。谢谢

3 个答案:

答案 0 :(得分:1)

=> lambda 运算符与大于或等于运算符>=

的运算符不同

答案 1 :(得分:0)

不是 50 __/ \__ / \ 25 26 / \ / \ 49 46 48 47 ,而是 50 __/ \__ / \ 25 26 / \ 49 46 / \ 5 6

这可以解决您的问题。

答案 2 :(得分:0)

你可以阅读=> (lambda sign)为“去”。表示您将参数传递给委托正文。在你的情况下,realpoints => 10个意思是真实点是参数,10个是身体,这个身体不是bool类型(10个不是bool)。

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

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

谢谢, Sukh