从 DirectoryEntry C# 创建 Byte[]

Create Byte[] from DirectoryEntry C#

您好,我已将此示例 https://code.msdn.microsoft.com/windowsdesktop/VBGetUserGroupInAD-a94dc080 从 VB .Net 转换为 C# 但我不知道如何翻译以下代码行:

'Get the objectSID which is Byte array
Dim objectSid As Byte() = DirectCast(deTempForSID.Properties("objectSid").Value, Byte())

据我所知,它必须是这样的,但我不确定,因为它不起作用并且 return 数组溢出:

byte[] objectSid = BitConverter.GetBytes(deTempForSID.Properties.Contains("objectSid"));

请谁能解释一下如何将此代码从 VB .Net 正确地转换为 C#?

那是因为 Contains returns 一个布尔值。请改用 Values

Hans Passant 友情建议的正确答案是:

(byte[])deTempForSID.Properties["objectSid"].Value