什么做的 (管)是指c#?

Exi*_*tos 14 c#

只是想知道管道在这意味着什么?我以前从未见过它:

FileSystemAccessRule fullPermissions = new FileSystemAccessRule(
             "Network Service",
             FileSystemRights.FullControl | FileSystemRights.Modify,
             AccessControlType.Allow);
Run Code Online (Sandbox Code Playgroud)

干杯

Jac*_*ope 14

对于标有[Flags]属性的枚举,竖线表示'和',即将给定值加在一起.

编辑:这是一个按位'或'(虽然语义上和'),例如:

[Flags]
public enum Days
{
     Sunday    = 0x01,
     Monday    = 0x02,
     Tuesday   = 0x04,
     Wednesday = 0x08,
     Thursday  = 0x10,
     Friday    = 0x20,
     Saturday  =  0x40,
}

// equals = 2 + 4 + 8 + 16 + 32 = 62
Days weekdays = Days.Monday | Days.Tuesday | Days.Wednesday | Days.Thursday | Days.Friday;
Run Code Online (Sandbox Code Playgroud)

这是一个按位 - 或者在语义上你认为它是一个AND!


rec*_*ive 11

它通常是按位或运算符.在此上下文中,它用于具有flags属性集的枚举.

  • 他们都.将它们视为二进制:`FileSystemRights.FullControl = 00000001`和`FileSystemRights.Modify = 00000010` OR将这些字段组合成`00000011`并将该值传递给方法.(这些值可能不准确) (9认同)
  • 它是按位或,而不是逻辑或。 (2认同)