2xUInt32 To UInt64   otázka

C#, VB.NET

Jak správně přeložit do VB.NET poslední řádek, kde má vrátit dva UInt32 jako jednu hodnotu UInt64 ?

public static UInt64 GetFileIndex(string path)
{
    BY_HANDLE_FILE_INFORMATION info;
    GetFileInformation(path, out info);
    return info.FileIndexLow | ((UInt64)info.FileIndexHigh << 32);
}

Děkuji za případnou pomoc.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Omlouvám se za příspěvek v slabé chvilce...

Operators :

OR (Inclusive OR) ( | sign in C#, Or in VB.NET )

AND ( & sign in C#, And in VB.NET )

XOR (Exclusive OR) ( ^ sign in C#, Xor in VB.NET)

NOT ( ~ sign in C#, Not in VB.NET)

Left Shift ( << sign in C# and VB.NET)

Right Shift ( >> sign in C# and VB.NET)

Private Function GetFileIndex(ByVal path As String) As UInt64
        Dim info As BY_HANDLE_FILE_INFORMATION
        GetFileInformation(path, info)
        Return info.FileIndexLow Or Convert.ToUInt64(info.FileIndexHigh) << 32
    End Function

...

Pro opakovaný přístup k původním hodnotám bez počítání :

    <StructLayout(LayoutKind.Explicit)>
    Structure UInt64ToUInt32
        <FieldOffset(0)>
        Public Int64Value As UInt64
        <FieldOffset(0)>
        Public LeftInt32 As UInt32
        <FieldOffset(4)>
        Public RightInt32 As UInt32
    End Structure

Nebo taky :

Return New UInt64ToUInt32() With {.LeftInt32 = info.FileIndexLow, .RightInt32 = info.FileIndexHigh}.Int64Value

Veselé velikonoce!

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback