Rumah >pembangunan bahagian belakang >C++ >C# Array Multidimensi: `[] []` Vs `[,]` - Apa perbezaannya?
[][]
dan [,]
tatasusunan berbilang dimensi dalam C#
Tatasusunan berbilang dimensi dalam C# boleh diwakili menggunakan dua sintaks: [][]
dan [,]
. Walaupun mereka kelihatan serupa, terdapat perbezaan utama antara keduanya.
Susun zigzag [][]
double[][] ServicePoint = new double[10][];
Sintaks ini mencipta tatasusunan tatasusunan. Setiap elemen dalam ServicePoint
ialah rujukan kepada tatasusunan double
yang berasingan. Kelebihan tatasusunan gigi gergaji adalah fleksibiliti mereka. Barisnya boleh mempunyai panjang yang berbeza, membenarkan struktur data yang tidak teratur.
Susunan seragam [,]
double[,] ServicePoint = new double[10, 9];
Sebaliknya, tatasusunan seragam ialah grid segi empat tepat dengan bilangan baris dan lajur yang tetap. Di sini, ServicePoint
mempunyai 10 baris dan 9 lajur, menjadikannya dua dimensi. Setiap elemen dalam grid diakses menggunakan indeks baris dan lajur.
[][]
Ralat sintaks dalam tatabahasa
[][]
Ralat dalam contoh sintaks adalah kerana dimensi kedua tidak boleh ditentukan semasa mengisytiharkan. Tatasusunan mesti terlebih dahulu diisytiharkan sebagai tatasusunan (dengan hanya satu indeks):
double[][] ServicePoint = new double[10][];
Anda kemudiannya boleh menentukan dimensi setiap tatasusunan dalam tatasusunan luar apabila anda menciptanya:
ServicePoint[0] = new double[13];
[,]
Ralat tugasan dalam sintaks
Ralat dalam contoh kedua adalah kerana tatasusunan seragam tidak membenarkan penetapan tatasusunan satu dimensi kepada baris atau lajur. Ini kerana setiap elemen dalam tatasusunan [,]
ialah satu double
dan memerlukan indeks baris dan lajur untuk diakses.
Ringkasnya, [][]
mewakili tatasusunan bergerigi di mana setiap baris boleh mempunyai panjang yang berbeza, manakala [,]
mewakili tatasusunan seragam dengan bilangan baris dan lajur tetap. Memahami perbezaan ini adalah penting untuk menggunakan tatasusunan multidimensi secara berkesan dalam C#.
Atas ialah kandungan terperinci C# Array Multidimensi: `[] []` Vs `[,]` - Apa perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!