当前位置:  开发笔记 > 编程语言 > 正文

检查对象是否不是类型(!=等效于"IS") - C#

如何解决《检查对象是否不是类型(!=等效于"IS")-C#》经验,为你挑选了2个好方法。

这很好用:

    protected void txtTest_Load(object sender, EventArgs e)
    {
        if (sender is TextBox) {...}

    }

有没有办法检查发件人是不是TextBox,某种等同于!= for"is"?

请不要建议将逻辑移到ELSE {} :)



1> Jon Tackabur..:

这是一种方式:

if (!(sender is TextBox)) {...}


@hmemcpy:就个人而言,只要我看到与布尔常量的比较,我就会畏缩.可能我的C背景显示...仍然,让我的皮肤爬行,并且我无法在我正在编辑的代码中单独留下它.
对于这种特殊情况,我更喜欢if(sender is TextBox == false).像这样不那么笨重的语法.

2> Wayne Molina..:

你不能在is关键字之前做更冗长的"旧"方式:

if (sender.GetType() != typeof(TextBox)) { // ... }


当然,您可以,但请注意"is"关键字匹配从TextBox派生的任何对象,而此typeof()检查仅匹配TextBoxes.
推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有