Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#
C#
  1. ค่าเริ่มต้น (Default Value) ของ bool ใน C#

    ภาพรวม ใช้ operator default เพื่อดึงค่าเริ่มต้นของชนิดข้อมูล สำหรับ bool ค่าเริ่มต้นคือ false รูปแบบการใช้งาน bool a = default(bool); // false // หรือ C# 7.1+: bool b = default; // type inference ตัวอย่างโค้ดเต็ม using System; public class Demo { public static void Main() { bool

  2. คีย์เวิร์ด nameof ใน C#

    ภาพรวม nameof เป็น operator ที่คืนค่า ชื่อของตัวแปร ประเภท หรือสมาชิก เป็นสตริง literal ตรวจสอบได้ตอน compile-time ช่วย refactoring ได้ปลอดภัย รูปแบบการใช้งาน var vehicle = motorbike; Console.WriteLine(nameof(vehicle)); // vehicle (ชื่อตัวแปร ไม่ใช่ค่า) ตัวอย่างโค้ดเต็ม using System; public clas

  3. Enum.GetName ใน C#

    ภาพรวม เมธอด Enum.GetName(Type, object) คืนค่า ชื่อ (string) ของค่าคงที่ enum ที่ตรงกับค่าที่ระบุ พารามิเตอร์ Type - ชนิดของ enum (เช่น typeof(Vehicle)) Object - ค่าของ enum ที่ต้องการชื่อ (เช่น Vehicle.Motorbike) ตัวอย่างโค้ดเต็ม using System; class Demo { enum Vehicle { Car, Motorbike, T

  4. Enum.GetNames ใน C#

    ภาพรวม เมธอด Enum.GetNames(Type) คืนค่า อาร์เรย์สตริง ที่มีชื่อของค่าคงที่ (constants) ทั้งหมดใน enum นั้น รูปแบบการใช้งาน enum Vehicle { Car, Motorbike, Truck } string[] names = Enum.GetNames(typeof(Vehicle)); // [Car, Motorbike, Truck] ตัวอย่างโค้ดเต็ม using System; class Demo { enum Vehic

  5. NullReferenceException ใน C#

    ภาพรวม NullReferenceException เกิดขึ้นเมื่อ พยายามเข้าถึงสมาชิก (field, property, method) ของออบเจ็กต์ที่เป็น null ตัวอย่างที่ทำให้เกิด Exception 0) // พยายามเข้าถึง Length ของ null Console.WriteLine(str); } } ข้อความข้อผิดพลาด Unhandled Exception: System.NullReferenceException:

  6. รวมสองอาร์เรย์ใน C# (Combine Arrays)

    ภาพรวม รวมอาร์เรย์สองตัวโดยใช้ List<T>.AddRange() หรือ LINQ Concat() วิธี 1: ใช้ List.AddRange (ตัวอย่างต้นฉบับ) int[] arr1 = { 37, 45, 65 }; int[] arr2 = { 70, 89, 118 }; var list = new List(); list.AddRange(arr1); list.AddRange(arr2); int[] combined = list.ToArray(); วิธี 2: ใช้ LINQ Conc

  7. สามารถปรับขนาดอาร์เรย์ใน C# ได้หรือไม่?

    คำตอบสั้น ไม่สามารถปรับขนาดอาร์เรย์ได้โดยตรง (arrays are fixed-size) แต่ใช้ Array.Resize<T>() สร้างอาร์เรย์ใหม่ขนาดต่างกัน คัดลอกข้อมูล แล้วแทนที่ตัวแปรเดิม ตัวอย่างการใช้ Array.Resize ใหม่ 10 (ตัวอย่าง) for (int i = 2; i < 10; i++) ch[i] = (char)(c + i - 2); Console.WriteLi

  8. ชนิด Buffer ใน C#

    ภาพรวม คลาส Buffer ใน namespace System ให้เมธอดสำหรับจัดการ ช่วงไบต์ (byte ranges) ในอาร์เรย์ primitive types โดยตรงระดับหน่วยความจำ เมธอดหลัก BlockCopy(src, srcOffset, dst, dstOffset, count) - คัดลอกไบต์ ByteLength(array) - ขนาดรวมเป็นไบต์ GetByte(array, index) - อ่านไบต์ SetByte(array, index, v

  9. Buffer.BlockCopy ใน C#

    ภาพรวม Buffer.BlockCopy() คัดลอกบล็อกไบต์จากอาร์เรย์ต้นทางไปอาร์เรย์ปลายทาง ทำงานระดับหน่วยความจำ ตรงและเร็ว ตัวอย่างโค้ดเต็ม using System; class Demo { static void Main() { byte[] b1 = new byte[] { 55, 66, 77, 88, 99 }; byte[] b2 = new byte[8]; Buffer.BlockCopy(b1

  10. แทนที่อาร์เรย์ C# ด้วยอาร์เรย์ใหม่ขนาดต่างกัน (Array.Resize)

    ภาพรวม ใน C# ไม่สามารถปรับขนาดอาร์เรย์ได้โดยตรง (fixed size) แต่ใช้ Array.Resize<T>() สร้างอาร์เรย์ใหม่ขนาดที่ต้องการ คัดลอกข้อมูลเดิม แล้วแทนที่อ้างอิงเดิม รูปแบบการใช้งาน char[] arr = new char[5] { J, A, \0, \0, \0 }; Array.Resize(ref arr, 4); // ตัดเหลือ 4 ตัว arr[2] = C; arr[3] = K; // ต

  11. โปรแกรม C# นับจำนวนไบต์ในอาร์เรย์

    ภาพรวม ใช้ Buffer.ByteLength() ดึง ขนาดรวมของอาร์เรย์เป็นไบต์ (จำนวนองค์ประกอบ × ขนาดต่อองค์ประกอบ) รูปแบบการใช้งาน byte[] b = { 5, 9, 19, 23, 29, 35, 55, 78 }; int len = Buffer.ByteLength(b); // 8 (8 elements × 1 byte) ตัวอย่างโค้ดเต็ม using System; class Program { static void Main() {

  12. ตัวอย่าง Buffer.GetByte ใน C#

    ภาพรวม เมธอด Buffer.GetByte() ใช้ อ่านค่าไบต์ ที่ตำแหน่งที่ระบุในอาร์เรย์ รูปแบบการใช้งาน int[] arr = { 3, 4, 12 }; for (int i = 0; i < Buffer.ByteLength(arr); i++) Console.WriteLine(Buffer.GetByte(arr, i)); ตัวอย่างโค้ดเต็ม using System; public class Demo { public static void Main()

  13. ตัวอย่าง Buffer.SetByte ใน C#

    ภาพรวม เมธอด Buffer.SetByte() ใช้ กำหนดค่าไบต์ ที่ตำแหน่งที่ระบุในอาร์เรย์ (ทำงานระดับไบต์) รูปแบบการใช้งาน int[] arr = { 3, 4, 12 }; // แต่ละ int = 4 ไบต์ Buffer.SetByte(arr, 3, 20); // ตั้งค่าไบต์ที่ offset 3 เป็น 20 ตัวอย่างโค้ดเต็ม using System; public class Demo { public static void Mai

  14. รวมสองอาร์เรย์ด้วยเมธอด AddRange() ใน C#

    ภาพรวม ใช้ List<T>.AddRange() รวมอาร์เรย์สองตัว โดยเพิ่มลงในลิสต์ แล้วแปลงกลับเป็นอาร์เรย์ด้วย ToArray() รูปแบบการใช้งาน int[] arr1 = { 15, 20, 27, 56 }; int[] arr2 = { 62, 69, 76, 92 }; var list = new List(); list.AddRange(arr1); list.AddRange(arr2); int[] merged = list.ToArray(); ตัวอย่าง

  15. โปรแกรม C# คัดลอกช่วงไบต์จากอาร์เรย์หนึ่งไปอีกอาร์เรย์

    ภาพรวม เมธอด Buffer.BlockCopy() ใช้คัดลอก ช่วงไบต์ (byte range) จากอาร์เรย์ต้นทางไปยังอาร์เรย์ปลายทาง ทำงานระดับไบต์ (byte-level) ไม่ใช่ระดับองค์ประกอบ รูปแบบการใช้งาน byte[] src = { 22, 49 }; byte[] dst = new byte[5]; Buffer.BlockCopy(src, 0, dst, 0, 2); // คัดลอก 2 ไบต์จาก src[0] ไป dst[0] ตัวอ

  16. เมธอด Array.BinarySearch ใน C#

    ภาพรวม เมธอด Array.BinarySearch() ใช้ค้นหาดัชนีของค่าใน อาร์เรย์ที่จัดเรียงแล้ว (sorted array) โดยใช้알고อิทึมแบบทวิภาค (binary search) O(log n) เงื่อนไขสำคัญ อาร์เรย์ ต้องจัดเรียงล่วงหน้า (ascending order) หากไม่จัดเรียง ผลลัพธ์ไม่ถูกต้อง ตัวอย่างโค้ดเต็ม using System; public class Demo { p

  17. โปรแกรม C# แปลงอาร์เรย์จำนวนเต็มเป็นอาร์เรย์สตริง

    ภาพรวม เมธอด Array.ConvertAll<TInput, TOutput>() ใช้แปลงอาร์เรย์ชนิดหนึ่งเป็นอีกชนิดหนึ่ง โดยใช้ฟังก์ชันแปลง (converter delegate) รูปแบบการใช้งาน x.ToString()); ตัวอย่างโค้ดเต็ม ele.ToString()); Console.WriteLine(string.Join(|, strArray)); } } ผลลัพธ์ 15|30|44|50|66 วิธีอื่น

  18. โปรแกรม C# ตรวจสอบว่าค่าอยู่ในอาร์เรย์หรือไม่

    ภาพรวม เมธอด Array.Exists<T>() ตรวจสอบว่ามีองค์ประกอบในอาร์เรย์ตรงตามเงื่อนไข (predicate) หรือไม่ คืนค่า bool รูปแบบการใช้งาน ele == keyboard); // true ตัวอย่างโค้ดเต็ม ele == keyboard); Console.WriteLine(res2); // True } } ผลลัพธ์ False True วิธีอื่นๆ = 0 - สำหรับค่าที่แน่

  19. โปรแกรม C# หาองค์ประกอบที่ตรงตามเงื่อนไขล่าสุดในอาร์เรย์

    ภาพรวม เมธอด Array.LastIndexOf() ใช้ค้นหา ดัชนีสุดท้าย (last index) ของค่าที่ระบุในอาร์เรย์ คืนค่า -1 หากไม่พบ รูปแบบการใช้งาน int[] val = { 97, 45, 76, 21, 89, 45 }; int lastIndex = Array.LastIndexOf(val, 45); // 5 (ดัชนีของ 45 ตัวที่สอง) ตัวอย่างโค้ดเต็ม using System; public class Demo { p

  20. เมธอด TrueForAll() ในอาร์เรย์ C#

    ภาพรวม เมธอดสแตติก Array.TrueForAll<T>() ตรวจสอบว่า ทุกองค์ประกอบในอาร์เรย์ ตรงตามเงื่อนไขที่ระบุ (predicate) หรือไม่ คืนค่า bool รูปแบบการใช้งาน 1); // true ตัวอย่างโค้ดเต็ม 1); Console.WriteLine(result); // True } } ผลลัพธ์ True ข้อสังเกต หยุดตรวจสอบทันทีที่พบองค์ประกอบที

Total 2668 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:48/134  20-คอมพิวเตอร์/Page Goto:1 42 43 44 45 46 47 48 49 50 51 52 53 54