Senarai dalam C#

王林
Lepaskan: 2024-09-03 15:28:00
asal
613 orang telah melayarinya

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>();
Salin selepas log masuk

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>();
Salin selepas log masuk

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>();
Salin selepas log masuk

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);
Salin selepas log masuk

Membuat senarai dengan kapasiti yang ditentukan oleh pengguna.

Contoh:

List<string> lstString = new List<string>(3);
Salin selepas log masuk

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"
};
Salin selepas log masuk

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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);
}
}
}
Salin selepas log masuk

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");
}
}
Salin selepas log masuk

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);
}
}
}
Salin selepas log masuk

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);
}
}
}
Salin selepas log masuk

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);
}
}
}
Salin selepas log masuk

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);
}
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan