Suchergebnisse

Suchergebnisse 1-4 von insgesamt 4.

  • Benutzer-Avatarbild

    ConcurrentDictionary Liste

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    @ErfinderDesRades: Bei Reference-Types erzeugt CType exakt den selben Code wie DirectCast, also 0 performance unterschied. Bei ValueTypes siehts interessantererweise anders aus, wenn man von object->primitive hat, dann wird dabei Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger aufgerufen(beim cast zu integer), wobei ich davon nur die .Net Core version und mono version überprüfen konnte. DirectCast geht nur, wenn es bereits genau derselbe Typ ist... Es gibt also kein VB.Net äquivalen…

  • Benutzer-Avatarbild

    ConcurrentDictionary Liste

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Das mit der exception ist wahr. Hatte mich auch irwie verlesen und interpretiert "wenigstens DirectCast hätte man verwenden können" hast aber gar nicht^^ Und And fast nur als bit Operation. Es gibt Ausnahmen, wenn in jedem Fall auch der sekundäre operand ausgewertet werden soll...

  • Benutzer-Avatarbild

    ConcurrentDictionary Liste

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Kannst du dafür bitte ein konkretes Beispiel nennen? Denn ich kann weder CType operator für base/derivate class machen, noch für object. Und für alle anderen Fälle, die mir ein gefallen sind erzeugt DirectCast gar keinen Code, weil man ja nicht von beliebigem Typ a zu beliebigem Typ b konvertieren kann...Ansonsten wenn es sich um eine sub/superclass handelt, erzeugt er bei up/downcast wieder denselben code..

  • Benutzer-Avatarbild

    ConcurrentDictionary Liste

    jvbsl - - Sonstige Problemstellungen

    Beitrag

    Danke dir, jedoch solltest du beides mal versuchen o zu konvertieren, sonst ists ja kein Vergleich. Außerdem ging es doch um DirectCast, das hattest du selbst auch nochmal geschrieben. Also wie gesagt DirectCast und CType erzeugen in jedem Fall wenn beide Anwendbar sind den gleichen IL Code. TryCast ist natürlich nochmal spezieller. Und deine Zeile 3 stimmt btw. auch nicht, weil das keine narrowing CType operator ist, sondern ist etwas eigens angegebenes was der VB.Net Compiler wohl nehmen muss,…