Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

วิธีกำหนดค่าหลายค่าให้ตัวแปรเดียวใน C#

การเก็บหลายค่าในตัวแปรเดียวด้วยอาร์เรย์ใน C#

ใน C# ไม่สามารถกำหนดค่าหลายค่าให้ตัวแปรเดียวได้โดยตรง (ตัวแปรทั่วไปเก็บค่าได้เพียงค่าเดียว) แต่สามารถใช้ อาร์เรย์ (Array) หรือ คอลเลกชัน เพื่อเก็บหลายค่าในตัวแปรเดียว

การประกาศและเริ่มต้นอาร์เรย์สตริง

// ประกาศและจัดสรรหน่วยความจำ
string[] arr = new string[3];

// ประกาศและกำหนดค่าเริ่มต้นพร้อมกัน
string[] arr = new string[3] { "one", "two", "three" };

// แบบย่อ (Type inference)
string[] arr = { "one", "two", "three" };

ตัวอย่างโค้ดสมบูรณ์

using System;

public class Demo
{
    static void Main(string[] args)
    {
        // อาร์เรย์สตริง 3 ค่า
        string[] arr = new string[3] { "one", "two", "three" };
        
        // วนลูปเข้าถึงค่าแต่ละตัว
        for (int i = 0; i < arr.Length; i++)
        {
            Console.WriteLine("ค่า: " + arr[i]);
        }
        
        // ใช้ foreach (ง่ายกว่า)
        foreach (string value in arr)
        {
            Console.WriteLine("ค่า: " + value);
        }
        
        Console.ReadKey();
    }
}

ผลลัพธ์

ค่า: one
ค่า: two
ค่า: three

ทางเลือกอื่นสำหรับเก็บหลายค่า

ประเภท เหมาะสำหรับ ขนาด
Array (T[]) จำนวนค่าคงที่ ประสิทธิภาพสูง คงที่
List<T> เพิ่ม/ลบค่าได้ พร้อมเมธอดช่วยมากมาย ไดนามิก
HashSet<T> ค่าไม่ซ้ำ ตรวจสอบความมีอยู่เร็ว ไดนามิก
Dictionary<K,V> เก็บคู่ key-value ไดนามิก
Tuple / ValueTuple จำนวนค่าน้อย ชนิดข้อมูลต่างกัน คงที่

ตัวอย่างใช้ List แทน

using System.Collections.Generic;

List values = new List { "one", "two", "three" };
values.Add("four"); // เพิ่มได้
values.Remove("two"); // ลบได้

foreach (var v in values) Console.WriteLine(v);

สรุป: ใช้ Array เมื่อขนาดคงที่และต้องการประสิทธิภาพสูงสุด ใช้ List<T> สำหรับกรณีทั่วไปที่ต้องเพิ่ม/ลบข้อมูล