是否有等同于 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 在二进制表示中是 01Even = 21001 or 10 等于 113 (All).