Frage von MrKitKat, 35

Powershell Ablaufstruktur objektbasiert implementieren?

Ich habe einige Fragen zum Thema Powershell. Wäre cool wenn jemand einen Tipp dazu geben könnte :)

Welche Standardobjekte werden von der Programmiersprache zur Verfügung gestellt? (z.B. String als Objekt) Überblick verschafft?

Wie ist die korrekte Verwendung der Standardmethoden (z.B. String-Manipulation)?

Wie werden verschiedene Daten(-typen) korrekt formatiert und angezeigt? (Z.B. Wochentag eines Datums)

Welche (Standard-)Methoden stellt die Mathe-Bibliothek zur Verfügung und wie werden die wichtigsten verwendet?

Wozu und wie wird über eine Objektsammlung iteriert?

Welche Kontrollstrukturen gibt es dazu?

Antwort
von Orsovai, 19

Hallo!

Powershell bietet umfangreiche Unterstützung des .Net Frameworks. D.h. all Deine Fragen sind eigentlich .Net basiert und nicht auf Powershell speziell bezogen.

Als Beispiel sei hier Deine Frage bezüglich einer Math Klasse genannt.

Im .Net namespace System findet sich die statische Math Klasse, deren Methoden und Anwendungen (Properties hat sie keine) findest Du hier:

https://msdn.microsoft.com/de-de/library/system.math(v=vs.110).aspx

Des Weiteren stehen sogenannte Cmdlets zur Verfügung. Infos dazu hier:
https://msdn.microsoft.com/en-us/library/ms714395(v=vs.85).aspx

Grüße!

Kommentar von Orsovai ,

Oder um es vielleicht noch mal klarer zu machen:

Cmdlets sind spezielle .Net Klassen, aber es besteht Zugriff auf das gesamte .Net Framework.

Daneben ist auch eine Einbindung von COM Objekten möglich, aber alle von Dir gestellten Fragen beantwortet .Net.

Kommentar von Orsovai ,

Für Dich jetzt noch ein Beispiel:

Willst Du direkt auf eine .Net Klasse zugreifen, die nicht als Cmdlet realisiert ist, nutze folgende Syntax

#Deklariere neue Stopwatch aus .Net Klasse System.Diagnostics.Stopwatch
$watch = [System.Diagnostics.Stopwatch]::StartNew()

#Starte Zeitmessung
$watch.Start();

#Code beliebiger Art...

#Stoppe Zeitmessung
$watch.Stop()

$time=$watch.EllapsedMilliseconds / 1000

Write-Host "Das Programm hat" $time "Sekunden gebraucht!"

Keine passende Antwort gefunden?

Fragen Sie die Community