时间:2019-05-06 标签:c#negation operator open parenthesis expected

Pha*_*ach 0 c# negation parentheses

在 C# 中,我正在为这样的否定运算符编写代码,但它显示 syntax error, '(' expected

DataTable tmp = new DataTable();
var col = tmp.Columns;
if !(col.Contains("COL1") && col.Contains("COL2") && col.Contains("COL3"))
{
    //DO STH
}
Run Code Online (Sandbox Code Playgroud)

如果我更改为此代码,错误就会消失:

DataTable tmp = new DataTable();
var col = tmp.Columns;
if (!col.Contains("COL1") || !col.Contains("COL2") || !col.Contains("COL3"))
{
    //DO STH
}
Run Code Online (Sandbox Code Playgroud)

MS 的文档似乎太简单了,我没有找到如何更正第一个代码。

那么为什么第一个代码有语法错误,以及如何修复它?

在此处输入图片说明

Con*_*oop 8

一个 if 总是以 a ( 所以代码应该是

DataTable tmp = new DataTable();
var col = tmp.Columns;
if (!(col.Contains("COL1") && col.Contains("COL2") && col.Contains("COL3")))
{
    //DO STH
}
Run Code Online (Sandbox Code Playgroud)