sách gpt4 ăn đã đi

c# - "x as X != null"和 "x is X"总是返回相同的结果吗?

In lại Tác giả: Walker 123 更新时间:2023-11-30 13:37:48 30 4
mua khóa gpt4 giày nike

是否存在这两个 if 语句会产生不同结果的情况?

if(x as X != null)
{
// Do something
}

if(x is X)
{
// Do something
}

编辑:澄清一下:我知道运算符(通常)和它们的含义之间有什么区别。问题是在任何情况下这两者会产生不同的结果。

câu trả lời hay nhất

这两个语句在功能上没有区别。通常,as 版本用于避免双重类型测试,因为您可以执行以下操作

var local = x as X;
if (local != null) {
// Sweet I have local!
}

对比

if (x is X) { 
// This runs the type check yet again
var local = (X)x;
}

如果您在类型测试后实际上并未使用该值,则只需使用 版本

关于c# - "x as X != null"和 "x is X"总是返回相同的结果吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20686992/

30 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress