Autor Beitrag
Viertausend
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Fr 15.10.10 18:54 
Hallo,

wie ist in C# ein Bool definiert?

Ist 0 = True und alles andere False? Also wenn man ihn als Zahl betrachtet?

Grüße
4000
Implementation
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 33
Erhaltene Danke: 2

Parabola, Trisquel GNU/linux-libre
FPC, GCC
BeitragVerfasst: Fr 15.10.10 19:27 
Andersrum: 0 = false, alles andere true

_________________
Free as in Freedom!
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 16.10.10 14:46 
Hm? Es existiert überhaupt keine Konvertierung von bool in einen numerischen Datentyp oder umgekehrt. Die Implementierung von bool ist also in (fast) allen Fällen gar nicht beobachtbar - so, wie es sein sollte. false = 0 werde ich natürlich trotzdem nicht verneinen ;) .

_________________
>λ=
Viertausend Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 18.10.10 10:11 
Hallo,

das man die Datentypen nicht so einfach konvertieren kann musste ich auch leider feststellen. Ich erstellt mit C# ein COM-Objekt auf das von anderen Programmiersprachen aus zugegriffen wird und in der Spezifikation dieses COM-Objektes müssen die Datentypen definiert werden. Deshalb brauche ich diese Information.

Danke!

Grüße
Stefan
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 18.10.10 10:30 
Die interne Darstellung eines Boolean in c# hat nichts mit der Darstellung eines Booleans aus C# über COM zu tun. Da findet ein Marshalling in einen echten COM Typen statt.
Aus dem .NET Boolean wird zum Beispiel ein VARIANT_BOOL der in deiner Zielumgebung bekannt sein sollte.

Ein Übersicht der wichtigsten Typen und wie sie in COM dargestellt werden gibt es hier.