确定表达式是否为常量表达式的最佳方法

本文关键字:表达式 最佳 常量 方法 是否 | 更新日期: 2023-09-27 18:22:19

如果表达式是ConstantExpression,您更喜欢哪一个进行测试?来自NodeType属性或强制转换,为什么?

    public static bool IsConstantExpression(Expression expression)
    {
        return expression.NodeType == ExpressionType.Constant;
        return expression is ConstantExpression;
    }

确定表达式是否为常量表达式的最佳方法

一个区别是,如果expression为null,expression.NodeType == ExpressionType.Constant将抛出异常。我确信ConstantExpression是可以为null的,所以该语句仍然有效。

我认为进行属性访问比让运行时检查对象的类型要好。