2013-08-30 95 views
0

我有一个if语句,如果两个或多个条件= true,我希望它是true。我尝试使用运营商,但VS2012只是抱怨说,运算符&&不能应用于'bool'类型的操作数

错误操作 '& &' 不能适用于 'BOOL' 类型的操作数和 'Microsoft.Exchange.WebServices.Data.DelegateFolderPermissionLevel'

我已经尝试了三种方式:

if (item.Permissions.CalendarFolderPermissionLevel != DelegateFolderPermissionLevel.Editor && item.Permissions.InboxFolderPermissionLevel != DelegateFolderPermissionLevel.Editor) 
      { 

       item.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor; 

      } 

 if (item.Permissions.CalendarFolderPermissionLevel && item.Permissions.InboxFolderPermissionLevel != DelegateFolderPermissionLevel.Editor) 
      { 
       item.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor; 
      } 

if ((item.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor) && (item.Permissions.InboxFolderPermissionLevel != DelegateFolderPermissionLevel.Editor)) 
      { 
       item.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor; 
      } 

在网上找不到任何有用的东西。我将如何去写这样一个声明?它的工作原理罚款只是一个条件..

回答

1

尝试把周围每个条件括号:

if ((item.Permissions.CalendarFolderPermissionLevel != DelegateFolderPermissionLevel.Editor) && 
    (item.Permissions.InboxFolderPermissionLevel != DelegateFolderPermissionLevel.Editor)) 
{ 
    item.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor; 
} 
1

Mr.pswg是正确的,可能解决你的问题,但我在这里要告诉你什么是问题你的代码
你的前两个尝试

if (item.Permissions.CalendarFolderPermissionLevel != DelegateFolderPermissionLevel.Editor && item.Permissions.InboxFolderPermissionLevel != DelegateFolderPermissionLevel.Editor) 

if (item.Permissions.CalendarFolderPermissionLevel && item.Permissions.InboxFolderPermissionLevel != DelegateFolderPermissionLevel.Editor) 

失败,因为你不知道关于运算符的优先顺序
使用这个链接http://msdn.microsoft.com/en-us/library/2bxt6kc4.aspx

编译器解释它作为TRUE & & item.Permissions.InboxFolderPermissionLevel

在第一种情况下,而对于其他人也是如此,这就是为什么它给你错误

和你的第三个尝试

if ((item.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor) && (item.Permissions.InboxFolderPermissionLevel != DelegateFolderPermissionLevel.Editor)) 

运营商的首要条件将是 “==” 而不是 “=” :)
“=” 是vb.net我猜。
我希望大家都清楚了吧
和您的ANS将p.s.w.g被给出

if ((item.Permissions.CalendarFolderPermissionLevel != DelegateFolderPermissionLevel.Editor) && 
    (item.Permissions.InboxFolderPermissionLevel != DelegateFolderPermissionLevel.Editor)) 
{ 
    item.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor; 
} 
相关问题