gpt4 book ai didi

c# - 三元运算符未按预期工作

转载 作者:太空宇宙 更新时间:2023-11-03 17:08:10 25 4
gpt4 key购买 nike

我使用此代码将结果显示为偶数或奇数,而不是此处的 true 和 false:

Console.WriteLine(" is " + result == true ? "even" : "odd");

因此我正在使用三元运算符,但它会抛出错误,此处存在一些语法问题,但我无法捕捉到它。提前致谢

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplicationForTesting
{
delegate int Increment(int val);
delegate bool IsEven(int v);

class lambdaExpressions
{
static void Main(string[] args)
{

Increment Incr = count => count + 1;

IsEven isEven = n => n % 2 == 0;


Console.WriteLine("Use incr lambda expression:");
int x = -10;
while (x <= 0)
{
Console.Write(x + " ");
bool result = isEven(x);
Console.WriteLine(" is " + result == true ? "even" : "odd");
x = Incr(x);
}

最佳答案

查看您遇到的错误:

Operator '==' cannot be applied to operands of type 'string' and 'bool'

那是因为缺少括号。它连接字符串和 bool 值,这会产生一个字符串值,您不能将它与 bool 进行比较。

要修复它,请执行以下操作:

Console.WriteLine(" is " + (result == true ? "even" : "odd"));

进一步说明。

bool result = true;
string strTemp = " is " + result;

上面的语句是一个有效的语句,结果是一个字符串,是 True,所以你的语句目前看起来像:

Console.WriteLine(" is True" == true ? "even" : "odd");

上面字符串和 bool 值之间的比较是无效的,因此你会得到错误。

关于c# - 三元运算符未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13624772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com