无法将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操作符与大于等于>=
的操作符不同
您可以将=> (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);
谢谢,谁