Kann jemand die Details erklären? Wenn ich ein Objekt mitUnterschied zwischen PSObject, Hashtable und PSCustomObject
$var = [PSObject]@{a=1;b=2;c=3}
erstellen und dann suche ich nach seiner Art mit getType()
Powershell sagt mir seine vom Typ Hashtable. Wenn gm verwendet wird, um das Objekt zu untersuchen, ist es offensichtlich, dass eine Hashtabelle erstellt wurde, da es eine Schlüssel- und eine Werteeigenschaft hat. Was ist der Unterschied zu einer "normalen" Hashtabelle?
Auch, was ist der Vorteil der Verwendung eines PSCustomObject? Wenn man so etwas wie dieses
$var = [PSCustomObject]@{a=1;b=2;c=3}
die einzige sichtbare Unterschied für mich mit der Erstellung der verschiedenen Datentypen von PSCustomObject. Anstelle von Schlüsseln und Werteigenschaften zeigt eine Inspektion mit gm
, dass nun jeder Schlüssel als ein NoteProperty-Objekt hinzugefügt wurde. Aber welche Vorteile habe ich? Ich kann mit den Schlüsseln auf meine Werte zugreifen, genau wie in der Hashtabelle. Ich kann mehr als einfache Schlüssel-Wert-Paare (Schlüssel-Objekt-Paare zum Beispiel) im PSCustomObject, JUST wie in der Hashtabelle speichern. Also, was ist der Vorteil? Gibt es wichtige Unterschiede?
Well , Leistung - okay. Aber ist das alles? Auch die Leistung ist pro Hashtable. Was gibt es also für das PSCustomObject? Und die Standard-Anzeigeoption, wirklich? Gemeinsam haben wir es mit Daten zu tun - niemand will das Zeug jeden Tag anzeigen. Und manchmal, wenn ich Daten anzeigen muss, kann ich immer noch eine kleine Schleife erstellen und Standardformatierer verwenden. Scheint nicht ausreichend um einen neuen Datentyp für mich zu rechtfertigen. – masi
Der Artikel im ersten Link sagt nichts über die Geschwindigkeit von psobject vs pscustomobject. Stattdessen hebt es den Unterschied zwischen einem O (m * n) - und einem O (m * lnn) -Algorithmus hervor. – JJJ
"Zitieren Sie immer den relevantesten Teil eines wichtigen Links, falls die Zielseite nicht erreichbar ist oder dauerhaft offline geschaltet wird." - http://stackoverflow.com/help/how-to-answer – Pete