C# Nullable-arrays
Habe ich eine Suchfunktion, aber ich möchte LocationID
ein array von ganzen zahlen, anstatt nur eine einzelne ganze Zahl. Ich bin mir nicht sicher, wie dies zu tun, da will ich es auch null-Werte zulassen. Ich habe zu tun int?[]
aber dann hätte ich zu prüfen, die HasValue
für jeden einzelnen Eintrag. Gibt es einen besseren Weg?
Dies ist, was ich derzeit habe:
public ActionResult Search(string? SearchString, int? LocationId,
DateTime? StartDate, DateTime? EndDate)
InformationsquelleAutor Preston | 2013-04-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Arrays werden immer als Referenz Arten, wie
string
- so sind Sie bereits null-Werte zu. Müssen Sie nur (und nur kann Verwendung)Nullable<T>
wobei T ein null-Wert geben.So dass Sie wahrscheinlich wollen:
Hinweis, habe ich geändert, die Namen der parameter, um zu Folgen .NET Namenskonventionen, und verändert
LocationId
zulocationIds
zu zeigen, dass es für mehrere Standorte.Vielleicht wollen Sie auch zu prüfen, ändern Sie den parameter Typ auf
IList<int>
oder sogarIEnumerable<int>
mehr allgemein, z.B.Dadurch wird ein Anrufer könnte eine
List<int>
zum Beispiel.InformationsquelleAutor Jon Skeet
Arrays sind Referenztypen, so dass Sie nicht haben, etwas zu tun, Sie kann schon passieren
null
:Eine Methode mit der folgenden Signatur genannt werden kann, mit allen Parametern wie
null
:Bitte beachten Sie: ich zusätzlich entfernt das Fragezeichen nach
string
wie es ist ein Referenz-Typ als auch.InformationsquelleAutor Daniel Hilgarth