Repository navigation
DE CSharp Time
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
DateTime und DateTimeOffset beschreiben Datum und Uhrzeit, TimeSpan das Intervall, DateOnly/TimeOnly die einzelnen Teile. Um die Dauer zu messen, verwenden Sie Stopwatch; Die Systemuhr kann sich ändern. Der Timer ruft den Code nach einem Zeitplan ab und bestätigt keine Spielereignisse.
Speichern Sie dieses Beispiel separat als Example.cs. Führen Sie es unabhängig von den anderen Beispielen dieser Seite aus.
Example.cs:
// PROJECT-EXAMPLE
var delay = System.TimeSpan.FromMilliseconds(10);
await System.Threading.Tasks.Task.Delay(delay);
System.Console.WriteLine("Done");Ergebnis:
Done
var started = System.Diagnostics.Stopwatch.StartNew();
await WaitAsync(100);
UO.Print($"Elapsed: {started.ElapsedMilliseconds} ms");DateTimeOffset now = DateTimeOffset.UtcNow;
TimeSpan interval = TimeSpan.FromSeconds(2);
UO.Print($"UTC: {now:O}; interval: {interval.TotalMilliseconds} ms");Für periodisches asynchrones Warten gibt es PeriodicTimer. Lassen Sie den Timer los, wenn das Skript abgeschlossen ist, und übertragen Sie Cancellation an WaitForNextTickAsync. Eine Pause im Drehbuch und der Ablauf von Echtzeit sind zwei verschiedene Dinge.
Offizielle Dokumentation: Datum, Uhrzeit, Intervalle und Timer – Microsoft Learn.
ClassicUO — Bad Newbie & C# Scripts IDE