Wie man neues Element in bestehenden String-Array in C#.net hinzufügen?
Ich muss die vorhandenen Daten erhalten.
Wie man neues Element in bestehenden String-Array in C#.net hinzufügen?
Ich muss die vorhandenen Daten erhalten.
Eine neue Append<TSource>
Methode wurde hinzugefügt zu IEnumerable<TSource>
seit .NET Framework 4.7.1 und .NET Core 1.0.
So wird sie verwendet:
var numbers = new [] { "one", "two", "three" };
numbers = numbers.Append("four").ToArray();
Console.WriteLine(string.Join(", ", numbers)); // one, two, three, four
Beachten Sie, dass Sie, wenn Sie das Element am Anfang des Arrays hinzufügen möchten, die neue Prepend<TSource>
Methode.
Sie können die von @Stephen Chung gegebene Antwort erweitern, indem Sie seine LINQ-basierte Logik verwenden, um eine Erweiterungsmethode mit einem generischen Typ zu erstellen.
public static class CollectionHelper
{
public static IEnumerable<T> Add<T>(this IEnumerable<T> sequence, T item)
{
return (sequence ?? Enumerable.Empty<T>()).Concat(new[] { item });
}
public static T[] AddRangeToArray<T>(this T[] sequence, T[] items)
{
return (sequence ?? Enumerable.Empty<T>()).Concat(items).ToArray();
}
public static T[] AddToArray<T>(this T[] sequence, T item)
{
return Add(sequence, item).ToArray();
}
}
Sie können es dann direkt auf dem Array wie folgt aufrufen.
public void AddToArray(string[] options)
{
// Add one item
options = options.AddToArray("New Item");
// Add a
options = options.AddRangeToArray(new string[] { "one", "two", "three" });
// Do stuff...
}
Zugegeben, die AddRangeToArray()-Methode scheint ein wenig übertrieben, da man die gleiche Funktionalität mit Concat() hat, aber auf diese Weise kann der Endcode direkt mit dem Array "arbeiten" im Gegensatz zu diesem:
options = options.Concat(new string[] { "one", "two", "three" }).ToArray();
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.