Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tatasusunan dalam C#

Tatasusunan dalam C#

王林
王林asal
2024-09-03 15:11:33376semak imbas

Susun atur ialah satu set objek. Unsur-unsur yang terdapat dalam tatasusunan adalah daripada jenis data yang sama. Ia mungkin int, float, char, dll. Konsep Tatasusunan dalam C# wujud untuk mengelakkan kerumitan menyimpan nilai yang berbeza dengan membuat pembolehubah yang berbeza.

23 56 32 54 1
0 1 2 3 4

Indeks tatasusunan bermula dari 0, dan indeks tatasusunan akan ditingkatkan berdasarkan saiz tatasusunan tertentu. Jika kita mempunyai tatasusunan panjang 5, maka tatasusunan akan bermula dari indeks 0 dan berakhir pada indeks 4. Jadi panjang tatasusunan mentakrifkan bilangan elemen dalam tatasusunan itu.

Bagaimanakah Array berfungsi dalam C#?

Dalam C#, panjang tatasusunan boleh ditetapkan atau dinamik. Dalam tatasusunan panjang tetap, bilangan item tetap boleh disimpan. Dalam tatasusunan dinamik, saiz bertambah apabila item baharu datang ke tatasusunan, kerana peruntukan memori tatasusunan adalah dinamik. Dalam tatasusunan, memori tindanan menyimpan pembolehubah tatasusunan, manakala timbunan terurus menyimpan elemen. Dalam C#, tatasusunan diperoleh daripada System. Kelas tatasusunan. Jika kita mempunyai tatasusunan integer, maka semua elemen mempunyai nilai masing-masing, dan sebagai tatasusunan dalam C# ialah jenis rujukan, elemen akan memegang rujukan kepada objek sebenar.

Bagaimana untuk Mencipta Tatasusunan dalam C#?

Sintaks Tatasusunan:

data_type [] name_of_array

1. Pengisytiharan Susunan

Kod:

class Name
{
static void Main(string[]args)
{
Int32[] intarray;   //array declaration
}
}

Penjelasan Kod: Dalam pengisytiharan Tatasusunan, bahagian pertama ialah jenis data yang mentakrifkan jenis objek dalam tatasusunan. Bahagian kedua ialah [], yang mentakrifkan bilangan objek dalam tatasusunan, dan seterusnya ialah nama tatasusunan, iaitu tatasusunan int dalam kes ini

2. Permulaan Tatasusunan

Kod:

class Name
{
static void Main(string[]args)
{
Int32[] Intarray;   //array declaration
Intarray = new Int32[4]; // array initialization
Intarray[0]= 23;  // assigning values to the elements
Intarray[1]=5;
Intarray[2]=88;
Intarray[3]=6;
}
}

Penjelasan Kod: Dalam pemulaan tatasusunan, kita perlu menentukan bilangan nilai dalam tatasusunan dengan menggunakan kurungan segi empat sama dan memberikan nilai tersebut kepada setiap elemen tatasusunan. Jadi di sini, intarray[0] bermaksud kita menetapkan nilai pada kedudukan pertama, intarray[1] bermaksud menetapkan nilai dalam kedudukan kedua dan seterusnya.

3. Memaparkan nilai Array

Kod:

class Name
{
static void Main(string[]args)
{
Int32[] Intarray;   //array declaration
Intarray = new Int32[4]; //array initialization
Intarray[0]= 23; //assigning values to array
Intarray[1]=5;
Intarray[2]=88;
Intarray[3]=6;
Console.WriteLine(Intarray[0]);
Console.WriteLine(Intarray[1]);
Console.WriteLine(Intarray[2]);
Console.WriteLine(Intarray[3]);
Console.ReadKey();
}
}

Penjelasan Kod: Console.WriteLine ialah kaedah untuk memaparkan setiap nilai tatasusunan dalam konsol.

Contoh Tatasusunan dalam C#

Contoh dan keputusan dalam C# dipaparkan di bawah

Contoh #1

Kod:

using System;
namespace ArrayDemo
{
class Name
{
static void Main(string[] args)
{
Int32[] Intarray;   // array declaration
Intarray = new Int32[4]; // array initialization
Intarray[0] = 23;   // assigning values to the array element
Intarray[1] = 5;
Intarray[2] = 88;
Intarray[3] = 6;
Console.WriteLine(Intarray[0]);
Console.WriteLine(Intarray[1]);
Console.WriteLine(Intarray[2]);
Console.WriteLine(Intarray[3]);
Console.ReadKey();
}
}
}

Dalam kod di atas, tatasusunan diisytiharkan dan dimulakan dengan empat elemen dan Console.WriteLine memaparkan semua nilai.

Output:

Tatasusunan dalam C#

Contoh #2

Kod:

using System;
namespace Demo
{
class Array
{
static void Main(string[] args)
{
int[] arr = new int[4] { 10, 20, 30, 40 };
for (int i = 0; i < arr.Length; i++)    // Traverse array elements
{
Console.WriteLine(arr[i]);
}
}
}
}

Dalam kod di atas, tatasusunan dimulakan dan diisytiharkan dengan empat elemen dan kemudian gelung digunakan untuk mengakses elemen tatasusunan.

Output:

Tatasusunan dalam C#

Contoh #3

Kami juga boleh menggunakan foreach untuk mengakses elemen tatasusunan

Kod:

using System;
namespace Demo
{
class Array
{
static void Main(string[] args)
{
int[] arr = new int[4] { 10, 20, 30, 40 };
foreach (int i in arr)
{
Console.WriteLine(i);
}
}
}
}

Output:

Tatasusunan dalam C#

Jenis Tatasusunan dalam C#

Dalam C#, kami mempunyai pelbagai jenis tatasusunan:

  1. Susun atur dimensi tunggal.
  2. Susun atur berbilang dimensi.
  3. Susun atur bergerigi.

Contoh di atas ialah tatasusunan Dimensi Tunggal.

Susun Berbilang Dimensi

Dalam tatasusunan segi empat tepat atau tatasusunan berbilang dimensi, data disimpan dalam bentuk jadual.

Int[,] intArray = new int[4,3]

Dalam hal ini, kami telah menentukan saiz tatasusunan dengan empat baris dan tiga lajur.

1. Pengisytiharan tatasusunan berbilang dimensi

int[,] array = new int[3,3]; //declaration of 2D array
int[,,] array=new int[3,3,3]; //declaration of 3D array

2. Permulaan tatasusunan berbilang dimensi

int[,] array = new int[3,3]; //declaration of 2D array
array[0,1]=10; //initialization
array[1,2]=20;
array[2,0]=30;<c/ode>

Contoh tatasusunan berbilang dimensi

Kod:

using System;
namespace Demo
{
class Array
{
public static void Main()
{
int[,] intArray = new int[3, 2]{
{1, 2},
{2, 4},
{4, 8}
};
Console.WriteLine(intArray[0, 0]);
Console.WriteLine(intArray[0, 1]);
Console.WriteLine(intArray[1, 0]);
Console.WriteLine(intArray[1, 1]);
Console.WriteLine(intArray[2, 0]);
Console.WriteLine(intArray[2, 1]);
}
}
}

Penjelasan Kod: Dalam kod di atas, baris dan lajur ditentukan dengan tiga baris dan empat lajur dan Console.WriteLine memaparkan semua nilai.

Output:

Tatasusunan dalam C#

Susun Bergerigi

Elemen tatasusunan bergerigi ialah "tatasusunan" kerana ia menyimpan tatasusunan secara langsung.

1. Pengisytiharan tatasusunan bergerigi

int[][] array = new int[3][];

Kurungan pertama memberitahu tentang saiz dan kurungan kedua memberitahu tentang dimensi tatasusunan.

2. Permulaan dan tetapkan nilai pada tatasusunan bergerigi

array[0] = new int[4] { 1, 2, 3, 4 };
array[1] = new int[5] { 1, 2, 3, 4,5 };

Saiz elemen boleh berbeza.

Di bawah ialah contoh tatasusunan bergerigi:

Contoh #1

Kod:

using System;
namespace Demo
{
class Array
{
public static void Main()
{
int[][] array = new int[2][];// Declare the array
array[0] = new int[] { 1, 2, 6, 8 };// Initialize the array
array[1] = new int[] { 72, 51, 47, 23, 54, 13 };
// Traverse array elements
for (int i = 0; i < array.Length; i++)
{
for (int j = 0; j < array[i].Length; j++)
{
System.Console.Write(array[i][j] + " ");
}
System.Console.WriteLine();
}
}
}
}

Output:

Tatasusunan dalam C#

Contoh #2

Kod:

using System;
namespace Demo
{
class Array
{
public static void Main()
{
int[][] array = new int[3][]{
new int[] { 51, 22, 43, 87 },
new int[] { 2, 3, 4, 56, 94, 23 },
new int[] { 4, 5 }
};
// Traverse array elements
for (int i = 0; i < array.Length; i++)
{
for (int j = 0; j < array[i].Length; j++)
{
System.Console.Write(array[i][j] + " ");
}
System.Console.WriteLine();
}
}
}
}

Output:

Tatasusunan dalam C#

Kaedah Tatasusunan dalam C#

Perkara berikut adalah seperti berikut:

  1. Clear(Array, Int32, Int32): This method is used to set the element range to default based on the type of element.
  2. Clone(): This method is used to create a copy of the element.
  3. Copy(Array, Array, Int32): This method is used to copy the elements of one array to another array.
  4. Equals(Object): This method basically checks if the mentioned object is equal to the current object.
  5. Sort(Array): This method is used to sort the array.
  6. CreateInstance(Type, Int32): This method is used to create an array of a specific type, length, and size.
  7. ToString(): This is used to display string representation.
  8. GetType(): This method is used to return the type of object.
  9. IndexOf(Array, Object): This method is used to search the particular object and return the first occurrence index in a 1D array.
  10. Reverse(Array): This method is used to reverse the sequence of the elements.
  11. SetValue(Object, Int32): This method in the 1D array is used to set the value of an element.

Example

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ArrayMethod
{
class Program
{
static void Main(string[] args)
{
int[] arr = new int[6] { 5, 8, 9, 25, 0, 7 };
// Creating an empty array
int[] arr2 = new int[6];
Console.WriteLine("length of first array: " + arr.Length); // length of array
Array.Sort(arr);  //sorting array elements
Console.Write("Sorted array elements: ");
PrintArray(arr);
Array.Copy(arr, arr2, arr.Length);  // copy elements of one array to other
Console.Write("Second array elements: ");
PrintArray(arr2);
Console.WriteLine("Get Index:\t{0}", Array.IndexOf(arr, 9));  // index of value
Array.Reverse(arr);
Console.Write("\nFirst Array elements in reverse order: ");  // reverse the elements of array
PrintArray(arr);
Array.Clear(arr, 0, 6);  //set default value of elements
PrintArray(arr);
}
static void PrintArray(int[] arr)
{
foreach (int i in arr)
{
Console.Write("\t{0}", i);
}
Console.WriteLine("\n");
}
}
}

Code Explanation: The above code shows several methods of the array in which arr. Length is used to get the length which is equal to 6, Array. Sort gives the values in sorted form. Array. Copy copies the values from the first array to the second array. Array. The reverse displays the array in reverse order, whereas Clear sets the default values of the elements.

Output:

Tatasusunan dalam C#

Conclusion

So it is better to declare one array variable instead of declaring too many different variables as elements in the memory are stored sequentially, which makes it faster. Also, it’s easy to traverse, manipulate and sort the data by using arrays.

Atas ialah kandungan terperinci Tatasusunan dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:C# untuk GelungArtikel seterusnya:C# untuk Gelung