是否有等同于 C# 的 | VB.Net 中的运算符?
Is there an equivalent of C#´s | operator in VB.Net?
在 VB.Net 中是否有 C# 的管道运算符 (|) 的等价物?
我从这里得到了一些代码How to grant full permission to a file created by my application for ALL users?
它在 C# 中,我想将它转换为 VB.Net。到目前为止我在这一点上(VS说有一个错误:| InheritanceFlags.ContainerInherit):
Sub ZugriffsrechteEinstellen()
Dim dInfo As New DirectoryInfo(strPfadSpracheINI)
Dim dSecurity As New DirectorySecurity
dSecurity = dInfo.GetAccessControl()
dSecurity.AddAccessRule(New FileSystemAccessRule(New SecurityIdentifier(WellKnownSidType.WorldSid, Nothing), FileSystemRights.FullControl, InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit, PropagationFlags.NoPropagateInherit, AccessControlType.Allow))
dInfo.SetAccessControl(dSecurity)
End Sub
相当于Or
.
InheritanceFlags.ObjectInherit Or InheritanceFlags.ContainerInherit
它将在操作数之间执行按位"or"运算。
例如,如果您有以下枚举
C#:
enum Values
{
None = 0,
Odd = 1,
Even = 2,
All = 3
}
VB:
Enum Values
None = 0
Odd = 1
Even = 2
All = 3
End Enum
Values.Odd | Values.Even
(Values.Odd Or Values.Even
) 的结果是 Values.All
。这是因为 Odd = 1
在二进制表示中是 01
而 Even = 2
是 10
而 01 or 10
等于 11
即 3 (All)
.
在 VB.Net 中是否有 C# 的管道运算符 (|) 的等价物?
我从这里得到了一些代码How to grant full permission to a file created by my application for ALL users?
它在 C# 中,我想将它转换为 VB.Net。到目前为止我在这一点上(VS说有一个错误:| InheritanceFlags.ContainerInherit):
Sub ZugriffsrechteEinstellen()
Dim dInfo As New DirectoryInfo(strPfadSpracheINI)
Dim dSecurity As New DirectorySecurity
dSecurity = dInfo.GetAccessControl()
dSecurity.AddAccessRule(New FileSystemAccessRule(New SecurityIdentifier(WellKnownSidType.WorldSid, Nothing), FileSystemRights.FullControl, InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit, PropagationFlags.NoPropagateInherit, AccessControlType.Allow))
dInfo.SetAccessControl(dSecurity)
End Sub
相当于Or
.
InheritanceFlags.ObjectInherit Or InheritanceFlags.ContainerInherit
它将在操作数之间执行按位"or"运算。
例如,如果您有以下枚举
C#:
enum Values
{
None = 0,
Odd = 1,
Even = 2,
All = 3
}
VB:
Enum Values
None = 0
Odd = 1
Even = 2
All = 3
End Enum
Values.Odd | Values.Even
(Values.Odd Or Values.Even
) 的结果是 Values.All
。这是因为 Odd = 1
在二进制表示中是 01
而 Even = 2
是 10
而 01 or 10
等于 11
即 3 (All)
.