Wie kann ich die eindeutigen Werte eines Arrays in .net erhalten?
Frage
sagen, dass ich dieses Array haben: MyArray (0) = "aaa" MyArray (1) = "bbb" MyArray (2) = "aaa"
Gibt es eine .net-Funktion, die mir die eindeutigen Werte geben kann? Ich würde so etwas wie dies als eine Ausgabe der Funktion mag: Output (0) = "aaa" Output (1) = "bbb"
Lösung
Angenommen, Sie haben .Net 3.5 / LINQ:
string[] OutputArray = MyArray.Distinct().ToArray();
Andere Tipps
Eine Lösung könnte sein, LINQ zu verwenden, wie im folgenden Beispiel:
int[] test = { 1, 2, 1, 3, 3, 4, 5 };
var res = (from t in test select t).Distinct<int>();
foreach (var i in res)
{
Console.WriteLine(i);
}
Das würde druckt die erwartete:
1
2
3
4
5
Sie können ein Wörterbuch benutzen sie mit einem Schlüssel hinzuzufügen, und wenn Sie sie hinzufügen prüfen, ob der Schlüssel bereits vorhanden ist.
string[] myarray = new string[] { "aaa", "bbb", "aaa" };
Dictionary mydict = new Dictionary();
foreach (string s in myarray) {
if (!mydict.ContainsKey(s)) mydict.Add(s, s);
}
Verwenden Sie die HashSet Klasse enthalten in .NET 3.5.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow