Laden...

Slice pendant für Arrays

Letzter Beitrag vor 8 Monaten 5 Posts 470 Views
Slice pendant für Arrays

Moin!

Ich habe eine Frage zu Arrays in C#.
Gibt es ein fertiges Pendant zum Slice Ausdruck von Python in C#?

Wenn ich beispielsweise überprüfen will, was sich im Index 2 bis 5 in einem Array befindet?
In Python ginge das so:

a = np.array([1, 5, 7, 10])
print(a)
b = a[1:]
print(b)

Die Ausgabe wäre dann

[1 5 7 10]
[5 7 10]

Es wird ab Index 1 ausgegeben.

Oder so:

a = np.array([2, 4, 6, 8])
print(a)
b = a[:2]
print(b)

Da wäre die Ausgabe:

[2 4 6 8]
[2 4]

Es wird bis Index 2 ausgegeben.

var a1 = new int[] { 1, 5, 7, 10 };
var a2 = a1[1..];
var b1 = new int[] { 2, 4, 6, 8 };
var b2 = b1[..2];

Console.WriteLine(string.Join(" ", a1));
Console.WriteLine(string.Join(" ", a2));
Console.WriteLine();
Console.WriteLine(string.Join(" ", b1));
Console.WriteLine(string.Join(" ", b2));

// 1 5 7 10
// 5 7 10
// 
// 2 4 6 8
// 2 4

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

Aaaah....super. Vielen Dank!

        static void Main(string[] args)
        {
            int[] a = [1, 5, 7, 10];
            Print(a);
            Index startIndex = 1;
            Index endIndex = ^0;
            int[] b = a[startIndex..endIndex];
            Print(b);

            int[] c = [2, 4, 6, 8];
            Print(c);
            startIndex = 0;
            endIndex = 2;
            int[] d = c[startIndex..endIndex];
            Print(d);

            Console.ReadKey();
        }

        private static void Print(int[] array)
        {
            Console.WriteLine("[{0}]", string.Join(", ", array));
        }

Hallo Patsche,

schau dir in diesem Zusammenhang auch Span an.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"