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

Senarai dalam C#

王林
王林asal
2024-09-03 15:28:00266semak imbas

Senarai dalam C# memainkan peranan yang sangat penting dalam penyimpanan dan pengambilan data. Berikut ialah beberapa perkara penting pada senarai generik ( Senarai ) dalam C#:

  • Senarai< T > ialah senarai objek yang ditaip kuat dengan T mewakili jenis objek dalam senarai.
  • Ia hadir di bawah Koleksi. Ruang nama generik.
  • Elemen senarai boleh diakses melalui nombor indeksnya dan pengindeksan dalam senarai bermula dengan sifar.
  • Senarai boleh diubah saiz secara dinamik.
  • Jika elemen senarai adalah daripada jenis rujukan maka senarai itu juga boleh menerima nilai nol.
  • Ia membenarkan penduaan elemen.

Sintaks:

List<T> list_name = new List<T>();

Penjelasan: Dalam kenyataan di atas Senarai< T > ialah senarai generik jenis T. Di sini T boleh daripada sebarang jenis seperti int, rentetan, dsb. Dan list_name ialah nama yang diberikan oleh pengguna bagi senarai itu. Kami memulakan senarai dengan bantuan kata kunci ‘baharu’.

Kami juga boleh membuat senarai dengan bantuan IList< T > antara muka, seperti:

IList<T> list_name = new List<T>();

Bagaimana untuk Membuat Senarai dalam C#?

Untuk bekerja dengan Senarai< T >, pertama, kami perlu mengimport ruang nama System.Collections.Generik dalam program kami.

Terdapat banyak cara untuk membuat senarai dalam C#, seperti :

  • Membuat senarai dengan kapasiti lalai menggunakan Senarai< T > pembina kelas.

Contoh:

List<int> lstNum = new List<int>();

Pernyataan di atas akan mencipta senarai integer dengan kapasiti lalai. Jika kapasiti senarai tidak ditentukan oleh pengguna, maka saiz senarai bertambah setiap kali apabila item ditambahkan pada senarai.

Latihan ASP.NET (9 Kursus, 19 Projek). Program Latihan BERSIH (5 Kursus, 19 Projek)

  • Kita boleh menambah item pada senarai menggunakan kaedah Add().

Contoh:

lstNum.Add(1);
lstNum.Add(2);
lstNum.Add(3);

Membuat senarai dengan kapasiti yang ditentukan oleh pengguna.

Contoh:

List<string> lstString = new List<string>(3);

Pernyataan di atas akan mencipta senarai rentetan dengan kapasiti tiga. Kapasiti mengembang secara automatik apabila lebih daripada tiga elemen ditambahkan pada senarai. Kami juga boleh menambah item pada senarai semasa memulakannya.

List<string> lstString = new List<string>(3)
{
"Neha",
"Shweta",
"Megha"
};

Kami juga boleh membuat senarai dengan bantuan koleksi elemen lain.

Contoh:

//string array of names
string[] names = {"Neha", "Shweta", "Megha"};
//creating list by using string array
List<string> lstNames = new List<string>(names);

Kami boleh menambah koleksi elemen lain pada senarai menggunakan kaedah AddRange().

Contoh:

string[] names = {"Neha", "Shweta", "Megha"};
List<string> lstNames = new List<string>();
//adding elements of string array to list
lstNames.AddRange(names);

Kaedah Senarai dalam C# dengan Contoh

Mari kita bincangkan beberapa kaedah penting kelas Senarai seperti berikut:

1. Tambah( T )

Kaedah ini digunakan untuk menambah objek pada penghujung senarai. Ia boleh menambah nilai nol untuk jenis rujukan.

Contoh:

using System;
using System.Collections.Generic;
public class ListDemo
{
public static void Main()
{
List<int> lstNum = new List<int>(){1, 2, 3, 4};
//Adding 5 at the end of list
lstNum.Add(5);
foreach(int num in lstNum)
{
Console.WriteLine(num);
}
}
}

Output:

Senarai dalam C#

2. Jelas()

Kaedah ini digunakan untuk mengalih keluar semua elemen daripada senarai.

Contoh:

using System;
using System.Collections.Generic;
public class ListDemo
{
public static void Main()
{
List<int> lstNum = new List<int>(){1, 2, 3, 4, 5};
//removing all elements from the list
lstNum.Clear();
if(lstNum.Count > 0)
Console.WriteLine("List is not empty");
else
Console.WriteLine("List is empty");
}
}

Output:

Senarai dalam C#

3. Sisip( Int32, T )

Kaedah ini digunakan untuk memasukkan elemen pada kedudukan yang ditentukan dalam senarai. Ia memerlukan dua hujah, hujah pertama ialah nombor indeks tempat anda ingin memasukkan elemen dan hujah kedua ialah elemen itu sendiri.

Contoh:

using System;
using System.Collections.Generic;
public class ListDemo
{
public static void Main()
{
List<string> lstCities = new List<string>(){"Mumbai", "Pune", "Bengaluru"};
//inserting element at third position
lstCities.Insert(2, "Chennai");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
}
}

Output:

Senarai dalam C#

4. RemoveAt( Int32 )

Kaedah ini digunakan untuk mengalih keluar item pada kedudukan yang ditentukan daripada senarai.

Contoh:

using System;
using System.Collections.Generic;
public class ListDemo
{
public static void Main()
{
List<string> lstCities = new List<string>() {"Mumbai","Pune","Bengaluru"};
Console.WriteLine("Initial list values");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
//removing element at second position
lstCities.RemoveAt(1);
Console.WriteLine("\nAfter removing element at second position");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
}
}

Output:

Senarai dalam C#

5. Isih()

Kaedah ini digunakan untuk mengisih elemen senarai menggunakan pembanding lalai.

Contoh:

using System;
using System.Collections.Generic;
public class ListDemo
{
public static void Main()
{
List<string> lstCities = new List<string>(){"Mumbai","Pune","Bengaluru"};
Console.WriteLine("Initial list values");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
//sorting elements in ascending order
lstCities.Sort();
Console.WriteLine("\nList after sorting in ascending order");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
//sorting elements in descending order by calling Reverse()
lstCities.Reverse();
Console.WriteLine("\nList after sorting in descending order");
foreach(string city in lstCities)
{
Console.WriteLine(city);
}
}
}

Output:

Senarai dalam C#

Dalam program di atas, mula-mula, kami mengisih senarai dalam tertib menaik menggunakan Sort(). Sekarang untuk mengisih senarai dalam susunan menurun kami memanggil kaedah Reverse() pada senarai yang diisih. Kita boleh mengisih senarai jenis int, rentetan, dsb. menggunakan kaedah Sort() tetapi untuk mengisih senarai jenis objek tersuai, kita perlu melaksanakan antara muka IComparable atau kita juga boleh menggunakan LINQ. Kita boleh mengisih senarai jenis ini dengan cara lain seperti yang ditunjukkan dalam contoh di bawah:

Contoh:

using System;
using System.Collections.Generic;
public class Student
{
public string Name { get; set; }
public int Marks { get; set; }
public Student(string name, int marks)
{
Name = name;
Marks = marks;
}
}
public class ListDemo
{
public static void Main()
{
List<Student> lstStudents = new List<Student>();
lstStudents.Add(new Student("Neha", 90));
lstStudents.Add(new Student("John", 75));
lstStudents.Add(new Student("Kate", 88));
lstStudents.Add(new Student("Arya", 70));
//sorting students in ascending order of their marks
lstStudents.Sort(CompareMarks);
foreach (Student student in lstStudents)
{
Console.WriteLine(student.Name + ": " + student.Marks);
}
}
public static int CompareMarks(Student student1, Student student2)
{
return student1.Marks.CompareTo(student2.Marks);
}
}

Output:

Senarai dalam C#

Kesimpulan

Senarai< T > ialah koleksi generik elemen bagi jenis tertentu. Unsur-unsur senarai boleh diakses melalui nombor indeksnya menggunakan gelung 'for' atau 'foreach'. Kami boleh melakukan banyak operasi pada senarai seperti menambah, memasukkan, mencari, mengisih, dll. Ia bersaiz dinamik.

Atas ialah kandungan terperinci Senarai 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:Koleksi dalam C#Artikel seterusnya:Koleksi dalam C#