flag == false 和 !flag 在实际使用中有区别吗 返回

SqlSugar 老数据
2 1708
该叫什么 Momiji 发布于2021/8/27
悬赏:0 飞吻

1. 这是我用来判断前端传值的简单校验工具方法,当传入的string没通过时会返回false

image.png

2. 这是我一开始的代码,其中where判断的逻辑是如果前端传来的是无效值,则跳过后面的匹配逻辑。但是实际运行时会抛出

    Microsoft.Data.SqlClient.SqlException (0x80131904): 在应使用条件的上下文(在 'OR' 附近)中指定了非布尔类型的表达式。

image.png

image.png

3. 如果使用flag == false 代替!flag就可以正常运行。flag == false 和 !flag 存在实际的区别吗?求大神解惑(!flag代码是之前efcore的时候写的能正常运行,刚用sqlsugar小半天时间,大部分时间花在这个问题上,后来抱着试试看的想法改了运行正常,整体代码代码看起来不优雅大佬们轻喷


热忱回答2

  • !参数变量  那么生成的表达式可能就是 not(变量) 还是有区别的 

    0 回复
  • Momiji Momiji VIP0
    2021/8/27

    @fate stay night

    0 回复