Czy ktoś może wyjaśnić szczegóły? Jeśli utworzyć obiektu przy użyciuRóżnica między PSObject, Hashtable i PSCustomObject
$var = [PSObject]@{a=1;b=2;c=3}
a potem patrzę na tego typu przy użyciu getType()
PowerShell mówi mi jego typu Hashtable. Podczas korzystania z gm do inspekcji obiektu jest oczywiste, że została utworzona tablica haszująca, ponieważ ma ona klucze i właściwość value. Więc jaka jest różnica do "normalnego" hashtable?
Co jest zaletą korzystania z PSCustomObject? Tworząc jedną użyciu coś jak ten
$var = [PSCustomObject]@{a=1;b=2;c=3}
jedyną widoczną różnicą jest dla mnie inny typ danych z PSCustomObject. Również zamiast kluczy i właściwości wartości inspekcja z gm
pokazuje, że teraz każdy klucz został dodany jako obiekt NoteProperty. Ale jakie mam zalety? Jestem w stanie uzyskać dostęp do moich wartości za pomocą kluczy, tak jak w hashtable. Mogę przechowywać więcej niż proste pary klucz-wartość (np. Pary klucz-obiekt) w PSCustomObject, JUST, jak w hashtable. Więc jaka jest przewaga? Czy są jakieś ważne różnice?
Dobrze , wydajność - w porządku. Ale czy to wszystko? Również wydajność jest pro hashtable. Więc jakie jest prawo do istnienia dla PSCustomObject? I naprawdę domyślna opcja wyświetlania? Często mamy do czynienia z danymi - nikt nie chce tego codziennie wyświetlać. Od czasu do czasu, gdy potrzebuję wyświetlić jakieś dane, nadal mogę zbudować małą pętlę i użyć standardowych formaterów. Nie wydaje mi się wystarczającym uzasadnieniem dla nowego typu danych. – masi
Artykuł w pierwszym linku nie mówi nic o prędkości psobject vs pscustomobject. Zamiast tego podkreśla różnicę między algorytmem O (m * n) i O (m * ln n). – JJJ
"Zawsze podawaj najważniejszą część ważnego linku, na wypadek, gdyby strona docelowa była nieosiągalna lub została trwale wyłączona." - http://stackoverflow.com/help/how-to-answer – Pete