Vor einiger Zeit habe ich diesen Code in Java geschrieben, dessen Grundfunktion es ist, die nächste Zeit anzuzeigen, wenn die aktuelle Zeit mit einer 'Liste' verglichen wird, die Zeiten enthält. Bisher funktioniert es und unten ist, was ich habe:Java zu C# - Nächste Zeit anzeigen
import java.time.LocalTime;
import java.util.TreeSet;
TreeSet<LocalTime> times = new TreeSet<>();
times.add(LocalTime.parse("05:40"));
times.add(LocalTime.parse("06:40"));
times.add(LocalTime.parse("08:30"));
times.add(LocalTime.parse("09:45"));
times.add(LocalTime.parse("10:35"));
times.add(LocalTime.parse("11:10"));
times.add(LocalTime.parse("11:55"));
times.add(LocalTime.parse("12:20"));
times.add(LocalTime.parse("13:30"));
times.add(LocalTime.parse("14:55"));
times.add(LocalTime.parse("16:00"));
times.add(LocalTime.parse("16:30"));
times.add(LocalTime.parse("17:30"));
times.add(LocalTime.parse("19:00"));
times.add(LocalTime.parse("20:10"));
times.add(LocalTime.parse("21:10"));
LocalTime ceiling = times.ceiling(LocalTime.now());
LocalTime first = times.first();
if (ceiling != null) {
System.out.println("Bus is at: " + ceiling);
} else {
System.out.println("There are no more busses at this time. Next one will go in: " + first);
}
Also, es aktuelle Zeit in Anspruch nimmt, vergleichen Sie es mit den ‚mal‘ und zeigt nächstgelegene in der es auf dem Bildschirm.
Bisher ist die C# -Version ich habe, ist:
var timeOfDay = DateTime.Now.ToString("HH:mm");
Console.WriteLine(timeOfDay);
var time = new SortedSet<DateTime>
{
DateTime.Parse("05:40"),
DateTime.Parse("06:40"),
DateTime.Parse("08:30"),
DateTime.Parse("09:45"),
DateTime.Parse("10:35"),
DateTime.Parse("11:10"),
DateTime.Parse("11:55"),
DateTime.Parse("12:20"),
DateTime.Parse("13:30"),
DateTime.Parse("14:55"),
DateTime.Parse("16:00"),
DateTime.Parse("16:30"),
DateTime.Parse("17:30"),
DateTime.Parse("19:00"),
DateTime.Parse("20:10"),
DateTime.Parse("21:10")
};
var first = time.First();
var last = time.Last();
Console.WriteLine("Bus is at: " + first);
Console.WriteLine("There are no more busses at this time. Next one will go in: " + last);
Ein letztes Stück des Puzzles wird nächste Zeit angezeigt werden, im Vergleich zu den aktuellen.
Meine Frage ist: Was ist der beste Weg, so etwas in C# zu tun?
verwenden Haben Sie versucht, diese Lösung? http://StackOverflow.com/a/1757189/1758369 – Danellos
Bitte geben Sie mehr Sorgfalt in den Titel Ihrer Frage zu schreiben. Wenn sich Ihre Frage in etwa mit der TreeSet-Sammlung deckt, sagen Sie es. –