Rumah > Artikel > pembangunan bahagian belakang > Senarai dalam C#
Senarai dalam C# memainkan peranan yang sangat penting dalam penyimpanan dan pengambilan data. Berikut ialah beberapa perkara penting pada senarai generik ( Senarai
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>();
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 :
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)
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);
Mari kita bincangkan beberapa kaedah penting kelas Senarai seperti berikut:
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:
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:
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:
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:
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:
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< 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!