gpt4 book ai didi

c# - 为什么运算符的行为类似于 == 运算符?

转载 作者:行者123 更新时间:2023-12-01 01:40:14 24 4
gpt4 key购买 nike

假设我们有这样的语句:

enum EngineType
{
Gasoline,
Diesel,
Electric
}

var engine = EngineType.Electric;

if (engine is EngineType.Electric)
{
// do something
}


为什么 if 语句为真。从微软文档:
is 运算符检查表达式的结果是否与给定类型兼容 .

EngineType(枚举)的左值类型和整数的右值类型不是吗?
我错过了什么吗?

最佳答案

因为当你使用 is keyword这样,您实际上是在进行模式匹配(从 C# 7.0 开始):

Constant pattern, which tests whether an expression evaluates to a specified constant value.

关于c# - 为什么运算符的行为类似于 == 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58819028/

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