List ใน C#

  1. การสร้าง List และเข้าถึงด้วย foreach
  2. การ Add และ Remove สมาชิกใน List
  3. การ search และ sort สมาชิกใน List
  4. การใช้งาน List กับ Class

1.การสร้าง List และเข้าถึงด้วย foreach

using System;
using System.Collections.Generic;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var names = new List<string> { "<name>", "Ana", "Felipe" };
            foreach (var name in names)
            {
                Console.WriteLine($"Hello {name.ToUpper()}!");
            }
            Console.WriteLine();

            Console.WriteLine($"My name is {names[2]}");
            Console.WriteLine($"The list has {names.Count} people in it");
        }
    }
}

บรรทัดที่ 2 : เรียกใช้ System.Collections.Generic
บรรทัดที่ 10 : สร้าง List
บรรทัดที่ 11 : เข้าถึงสมาชิกใน List ด้วย foreach
บรรทัดที่ 17 : เข้าถึงสมาชิกใน List แบบระบุตำแหน่ง
บรรทัดที่ 18 : นับจำนวนสมาชิกใน List

ผลการรัน

Hello <NAME>!
Hello ANA!
Hello FELIPE!

My name is Felipe
The list has 3 people in it

2.การ Add และ Remove สมาชิกใน List

using System;
using System.Collections.Generic;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var names = new List<string> { "<name>", "Ana", "Felipe" };
            foreach (var name in names)
            {
                Console.WriteLine($"Hello {name.ToUpper()}!");
            }

            Console.WriteLine();
            names.Add("Maria");
            names.Add("Bill");
            names.Remove("<name>");
            foreach (var name in names)
            {
                Console.WriteLine($"Hello {name.ToUpper()}!");
            }
        }
    }
}

ผลการรัน

> dotnet run
Hello <NAME>!
Hello ANA!
Hello FELIPE!

Hello ANA!
Hello FELIPE!
Hello MARIA!
Hello BILL!

3.การ search และ sort สมาชิกใน List

using System;
using System.Collections.Generic;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var names = new List<string> { "Jack", "Tip", "Sydney", "Seoul" };

            // search
            var index = names.IndexOf("Sydney");
            if (index == -1)
            {
                Console.WriteLine($"When an item is not found, IndexOf returns {index}");
            }
            else
            {
                Console.WriteLine($"The name {names[index]} is at index {index}");
            }

            // search
            index = names.IndexOf("Not Found");
            if (index == -1)
            {
                Console.WriteLine($"When an item is not found, IndexOf returns {index}");
            }
            else
            {
                Console.WriteLine($"The name {names[index]} is at index {index}");

            }
            Console.WriteLine();

            // sort
            names.Sort();
            foreach (var name in names)
            {
                Console.WriteLine($"Hello {name.ToUpper()}");
            }
        }
    }
}

บรรทัดที่ 13 : ค้นหาตำแหน่งของคำที่ต้องการด้วย IndexOf() ถ้าเจอจะคืนตำแหน่งของคำนี้ออกมา
บรรทัดที่ 24 : ค้นหาตำแหน่งของคำที่ต้องการด้วย IndexOf() ถ้าไม่เจอจะคืน -1
บรรทัดที่ 37 : เรียงลำดับภายใน List (ใช้งานได้เลย ไม่ต้องสร้างตัวแปรมารับค่าที่เรียงลำดับ)
บรรทัดที่ 40 : แสดงผลลัพธ์เป็นตัวพิมพ์ใหญ่ด้วย ToUpper()

The name Sydney is at index 2
When an item is not found, IndexOf returns -1

Hello JACK
Hello SEOUL
Hello SYDNEY
Hello TIP

4.การใช้งาน List กับ Class

using System;
using System.Collections.Generic;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {

            MyClass myclass1 = new MyClass
            {
                firstName = "Phaisarn",
                lastName = "Sutheebanjard"
            };

            List<MyClass> myclass2 = new List<MyClass>
            {
                new MyClass { firstName = "Phaisarn", lastName = "Sutheebanjard" }
            };

            List<MyClass> myclass3 = new List<MyClass>
            {
                new MyClass { firstName = "Phaisarn", lastName = "Sutheebanjard" },
                new MyClass { firstName = "jack", lastName = "Sutheebanjard" }
            };
        }
    }

    class MyClass
    {
        public string firstName { get; set; }
        public string lastName { get; set; }
    }
}

บรรทัดที่ 11 : ตัวแปรของคลาส MyClass
บรรทัดที่ 17 : ตัวแปร List ของคลาส MyClass แต่มีค่าแค่ตัวเดียว
บรรทัดที่ 22 : ตัวแปร List ของคลาส MyClass แต่มี 2 ค่า