Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq开始括号和结束括号不匹配_C#_Entity Framework_Visual Studio_Linq_Linq To Entities - Fatal编程技术网

C# Linq开始括号和结束括号不匹配

C# Linq开始括号和结束括号不匹配,c#,entity-framework,visual-studio,linq,linq-to-entities,C#,Entity Framework,Visual Studio,Linq,Linq To Entities,我有以下代码: using (Entities db = new Entities()) { refer = db.Refferals.Where(r => r.RefferalDetails.Any(rd => (Name.Contains(rd.Name) || rd.Name.Contains(Name) || LastName.Contains(rd.Last

我有以下代码:

using (Entities db = new Entities())
            {
              refer =  db.Refferals.Where(r =>
                r.RefferalDetails.Any(rd =>
                (Name.Contains(rd.Name) || rd.Name.Contains(Name) || LastName.Contains(rd.LastName) || rd.LastName.Contains(LastName) 
                || Company.Contains(r.Company) || r.Company.Contains(Company)
                Mobile.Contains(rd.Mobile) || rd.Mobile.Contains(Mobile))) &&
                Mobile.Length > 9 && Name.Length > 1 && LastName.Length > 1 && Company.Length > 2
                ).ToArray();

            }
虽然括号计数是正确的,但编辑器提供了一个额外的参数。


我尝试重新启动Visual Studio,但效果相同。

尝试在
r.Company.Contains(Company)
Mobile.Contains(rd.Mobile)
之间添加缺少的
|

并修复缩进,这样更容易看出问题所在。当我缩进它时,丢失的操作符像一个酸痛的拇指一样突出,并且很容易看到parens是如何工作的

using (Entities db = new Entities())
{
    refer = db.Refferals.Where(r =>
        r.RefferalDetails.Any(rd => 
            (
                Name.Contains(rd.Name) 
                || rd.Name.Contains(Name) 
                || LastName.Contains(rd.LastName) 
                || rd.LastName.Contains(LastName)
                || Company.Contains(r.Company) 
                || r.Company.Contains(Company)

                || /* <-- ADDED OR OPERATOR HERE */
                   Mobile.Contains(rd.Mobile) 

                || rd.Mobile.Contains(Mobile)
            )
        ) 
        && Mobile.Length > 9 
        && Name.Length > 1 
        && LastName.Length > 1 
        && Company.Length > 2
    ).ToArray();
}
使用(Entities db=new Entities())
{
refere=db.Refferals.Where(r=>
r、 参考详细信息。任何(rd=>
(
Name.Contains(rd.Name)
||rd.Name.Contains(名称)
||LastName.Contains(rd.LastName)
||rd.LastName.Contains(LastName)
||公司。包含(r公司)
||r.公司包含(公司)
|| /*  9 
&&名称.长度>1
&&LastName.Length>1
&&公司。长度>2
).ToArray();
}

尝试在
r.Company.Contains(Company)
Mobile.Contains(rd.Mobile)
之间添加缺少的
|

修正缩进,这样就更容易看出哪里出了问题。当我缩进时,缺少的操作符像一个酸痛的拇指一样突出,很容易看出paren是如何工作的

using (Entities db = new Entities())
{
    refer = db.Refferals.Where(r =>
        r.RefferalDetails.Any(rd => 
            (
                Name.Contains(rd.Name) 
                || rd.Name.Contains(Name) 
                || LastName.Contains(rd.LastName) 
                || rd.LastName.Contains(LastName)
                || Company.Contains(r.Company) 
                || r.Company.Contains(Company)

                || /* <-- ADDED OR OPERATOR HERE */
                   Mobile.Contains(rd.Mobile) 

                || rd.Mobile.Contains(Mobile)
            )
        ) 
        && Mobile.Length > 9 
        && Name.Length > 1 
        && LastName.Length > 1 
        && Company.Length > 2
    ).ToArray();
}
使用(Entities db=new Entities())
{
refere=db.Refferals.Where(r=>
r、 参考详细信息。任何(rd=>
(
Name.Contains(rd.Name)
||rd.Name.Contains(名称)
||LastName.Contains(rd.LastName)
||rd.LastName.Contains(LastName)
||公司。包含(r公司)
||r.公司包含(公司)
|| /*  9 
&&名称.长度>1
&&LastName.Length>1
&&公司。长度>2
).ToArray();
}

在Mobile.Contains(rd.Mobile)之前缺少一个**| |**


Mobile.Contains(rd.Mobile)前面缺少一个**| |**


如果不运行代码,您似乎会执行某种一元选择(rd)。我建议您开始重构代码,并将每个条件分解为一部分…

如果不运行代码,您似乎会执行某种一元选择(rd)。我建议您开始重构代码,并将每个条件分解为一个部分…

,看起来除了匹配之外什么都不匹配!您在
r.Company.Contains(Company)
Mobile.Contains(rd.Mobile)之间没有操作员
。但更一般地说,这是完全不可读的-很难看出哪里出了问题。问题出在哪里?你说开始括号和结束括号不匹配?在
.ToArray()之前的结束括号是什么
应该匹配吗?@CharlesMager多谢了。我和我兄弟看了半个小时都看不见。它解决了问题,看起来除了匹配之外什么都不匹配!你在
r.Company.Contains(Company)
Mobile.Contains(rd.Mobile)之间没有接线员
。但更一般地说,这是完全不可读的-很难看出哪里出了问题。问题出在哪里?你说开始括号和结束括号不匹配?在
.ToArray()之前的结束括号是什么
应该匹配吗?@CharlesMager多谢了。我和我兄弟看了半个小时都没看到。它解决了问题