Was ist der kürzeste Weg zu init-string-array mit einem leeren String?
Überraschend für mich
new string[count];
ist gefüllt mit null
s. So kam ich mit
var emptyStrings = Enumerable.Range(0, count)
.Select(a => String.Empty)
.ToArray();
ist sehr ausführlich. Gibt es nicht einen shorcut?
- die Frage wäre, warum tun Sie müssen empty string?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
Enumerable.Repeat
:(Aber bewusst sein, dass ein string-array in der richtigen Größe und looping geben eine bessere Leistung.)
Enumerable.Repeat
.Umgang mit mehreren Dimensionen
Musste ich arbeiten mit einem Bündel von string-arrays, das musste sein, initialisiert zu leerer, einige multi-dimensional. Das war ein bisschen Schmerz, so habe ich die folgenden, die Sie nützlich finden können:
Dann können Sie etwas tun:
Update - Eine Methode zum verarbeiten der beliebigen Abmessungen
Dachte ich, es wäre Spaß zu versuchen und zu verallgemeinern dies zu kombinieren, erstellen Sie das array, und initialisieren Sie es, mit einem Allgemeinen Zweck-Methode. Es ist nicht so schnell wie die oben genannten, aber es behandelt eine beliebige Anzahl von Dimensionen:
Diese Methode erfordert die gewünschte array als generische parameter verwenden, etwa so:
Requisiten zu Ian Griffiths für seine Artikel-Serie was war die Quelle der verallgemeinerten CartesianProduct Methode.
Update 2
Hier ist eine verfeinerte version des kartesischen Produkts, das verwendet Rekursion, um die index-Kombinationen: