我有一个if语句,如果两个或多个条件= true,我希望它是真的。我尝试使用&&运营商,但VS2012只是抱怨说,
错误运营商'&&'不能应用于'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;
}
无法在网上找到任何有用的内容。我该怎么写这样的陈述?只有一个条件才能正常工作..
答案 0 :(得分:1)
尝试在每个条件周围加上括号:
if ((item.Permissions.CalendarFolderPermissionLevel != DelegateFolderPermissionLevel.Editor) &&
(item.Permissions.InboxFolderPermissionLevel != DelegateFolderPermissionLevel.Editor))
{
item.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor;
}
答案 1 :(得分:1)
Mr.p.s.w.g是对的,它可以解决您的问题,但我在这里告诉您代码中的问题是什么 你的前两个试试
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我猜。
我希望你现在清楚了
你的答案将由p.s.w.g
if ((item.Permissions.CalendarFolderPermissionLevel != DelegateFolderPermissionLevel.Editor) &&
(item.Permissions.InboxFolderPermissionLevel != DelegateFolderPermissionLevel.Editor))
{
item.Permissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevel.Editor;
}