Feedback

C# - Generic Array Remove Method

Veröffentlicht von am 11.11.2015
(0 Bewertungen)
You can paste this Snippet in every generic Class to remove fields in Arrays.
The method returns a bool, to check if removing was successfull(true) or not(false).

Here is some sample data for the use
// Sample Data for a String Array
string[] s = new String[4];
s[0] = "Hallo";
s[1] = "Leute";
s[2] = "von";
s[3] = ".Net Snippets";
// Please note to add your ArrayClass (<String> in Example) before you call the Remove() Method
bool result = Snippets<string>.Remove(s, "von");

// If you need to delete the unused last field of the array
Array.Resize(ref s, s.Length - 1);

// Another Exmaple for an array of INT
int[] num = new int[5];
num[0] = 1;
num[1] = 2;
num[2] = 3;
num[3] = 4;
num[4] = 5;

result = Snippets<int>.Remove(num, 1);
GFU-Schulungen  [Anzeige]

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

// You need to have a generic Class, to make Remove() working or use this Snippet Class
    class Snippets<T>
    {
        // You can paste this Snippet in every generic Class to remove fields in Arrays
        public static bool Remove(T[] array, T data)
        {
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i].Equals(data))
                {// The array is shifted one field to the left.
                    Array.Copy(array, i + 1, array, i, array.Length - (i + 1));
                    // through shifting, the last field has still the old value. Set it to the array default value
                    array[array.Length - 1] = default(T);
                    return true;
                }
            }
            return false;
        }
    }
Abgelegt unter Remove, Array, Generic.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!