Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#
C#
  1. หาค่า Fibonacci ลำดับที่ n ด้วย Recursion ใน C#

    ภาพรวม Fibonacci sequence: F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2) ใช้ recursion คำนวณค่าลำดับที่ n โค้ดตัวอย่าง (Naive Recursion - O(2^n)) using System; public class Demo { public static void Main() { int n = 7; int result = Fibonacci(n); Console.WriteLine($"{n}th Fib

  2. หา Current Context ID ของ Thread ใน C#

    ภาพรวม ใช้ Thread.CurrentContext.ContextID เพื่อดู Context ID ของเธรดปัจจุบัน Context ใช้สำหรับการจัดการการเข้าถึงข้าม AppDomain หรือ Context-bound objects โค้ดตัวอย่าง using System; using System.Threading; namespace Demo { class MyClass { static void Main(string[] args) {

  3. คำนวณเลขยกกำลังด้วย Recursion ใน C#

    ภาพรวม ใช้ recursion คำนวณ base^exponent โดยเรียกฟังก์ชันตัวเองจน exponent = 0 โค้ดตัวอย่าง using System; public class Demo { public static void Main() { int n = 15; int p = 2; long result = Power(n, p); Console.WriteLine($"{n}^{p} = {result}"); // 22

  4. วัดเวลาการทำงานของเมธอดด้วย Stopwatch ใน C#

    ภาพรวม Stopwatch ใน System.Diagnostics ใช้วัดเวลาที่แม่นยำสูง (high-resolution) สำหรับ benchmarking และ profiling โค้ดตัวอย่าง using System; using System.Diagnostics; public class Demo { public static void Main() { Stopwatch sw = Stopwatch.StartNew(); // เรียกเมธอดที่ต้องการว

  5. หาพื้นที่ดิสก์ว่าง (Free Disk Space) ใน C#

    ภาพรวม ใช้คลาส DriveInfo ใน System.IO เพื่อดูข้อมูลดิสก์ รวมถึงพื้นที่ว่าง ขนาดทั้งหมด และรูปแบบไฟล์ระบบ โค้ดตัวอย่าง using System; using System.IO; public class Demo { public static void Main() { // ตรวจสอบไดรฟ์ E: (เปลี่ยนตามต้องการ) DriveInfo drive = new DriveInfo("E&q

  6. ตรวจสอบว่า String เป็น Keyword ของ C# หรือไม่

    ภาพรวม ใช้ CodeDomProvider.IsValidIdentifier ตรวจสอบว่าสตริงเป็น identifier ที่ถูกต้องใน C# หรือไม่ ถ้าไม่ใช่ identifier ที่ถูกต้อง อาจเป็น keyword (แต่ไม่ครอบคลุมทุกกรณี) โค้ดตัวอย่าง using System; using System.CodeDom.Compiler; namespace Program { class Demo { static void Main(strin

  7. หา K-th Smallest Element ในอาร์เรย์ 2 มิติ ด้วย C#

    ภาพรวม บทความต้นฉบับใช้โค้ดสำหรับอาร์เรย์ 1 มิติ (ไม่ใช่ 2D) นี่คือวิธีที่ถูกต้องสำหรับทั้งอาร์เรย์ 1D และ 2D กรณีอาร์เรย์ 1 มิติ (1D Array) using System; public class Demo { public static void Main() { int[] arr = { 65, 45, 32, 97, 23, 75, 59 }; int k = 5; // หาตัวที่ 5 น้อยท

  8. แปลงเลขทศนิยม (float) เป็นเลขฐานสอง (Binary) ใน C#

    ภาพรวม = 1) ทำงานผิดสำหรับทศนิยม) นี่คือวิธีที่ถูกต้อง วิธีที่ถูกต้อง: แปลงส่วนเต็มและส่วนทศนิยมแยกกัน using System; public class FloatToBinary { public static string Convert(float number, int fractionalBits = 16) { // จัดการเครื่องหมาย bool isNegative = number < 0;

  9. ตรวจสอบค่าซ้ำในอาร์เรย์ด้วย Dictionary ใน C#

    ภาพรวม ใช้ Dictionary<TKey, TValue> นับจำนวนครั้งที่แต่ละค่าปรากฏในอาร์เรย์ คีย์คือค่าในอาร์เรย์ ค่าคือจำนวนครั้ง (count) โค้ดตัวอย่าง using System; using System.Collections.Generic; namespace Demo { public class Program { public static void Main(string[] args) { int

  10. Singleton Pattern ใน C#: การสร้าง Instance เดียว

    ภาพรวม Singleton Pattern รับประกันว่าคลาสมี instance เพียงตัวเดียวตลอดอายุของโปรแกรม และให้การเข้าถึง instance นั้นๆ แบบ global รูปแบบที่แนะนำใน C# สมัยใหม่ (Thread-safe, Lazy) public sealed class Singleton { // Lazy initialization + thread-safe โดยค่าเริ่มต้น private static readonly Lazy&

  11. LinkedList Traversal ใน C#: การวนลูปผ่าน LinkedList

    ภาพรวม LinkedList<T> ใน System.Collections.Generic เป็น doubly linked list ที่รองรับการเพิ่ม/ลบที่หัว/ท้าย/กลางได้อย่างมีประสิทธิภาพ O(1) หากมี reference ของโหนด โค้ดตัวอย่าง: การสร้างและ Traversal using System; using System.Collections.Generic; public class Demo { public static void Ma

  12. Socket Programming ใน C#: TCP/IP Network Communication

    ภาพรวม Namespace System.Net.Sockets จัดเตรียมการทำงานกับ Socket สำหรับการสื่อสารเครือข่าย TCP/IP มี 2 โหมด: Synchronous (บล็อก) และ Asynchronous (non-blocking) คลาสหลัก คลาสหน้าที่ TcpListenerฝั่ง Server: ฟังการเชื่อมต่อ TCP TcpClientฝั่ง Client: เชื่อมต่อไปยัง Server SocketLow-level socket ope

  13. Thread Synchronization ใน C#: lock และ Mutex

    ภาพรวม Thread synchronization ใช้ป้องกัน race condition เมื่อหลายเธรดเข้าถึงทรัพยากรร่วมกัน เครื่องมือหลักคือ lock (monitor) และ Mutex 1. lock Statement (Monitor) - ใช้ภายใน Process เดียว public class Demo { private readonly object _lock = new object(); // ต้องเป็น reference type public v

  14. Thread-based Parallelism ใน C#: ใช้ Task แทน Thread

    ภาพรวม ใน C# สมัยใหม่ ควรใช้ Task (จาก System.Threading.Tasks) แทนการสร้าง Thread โดยตรง เพราะ Task ใช้ ThreadPool ภายใน มี overhead ต่ำกว่า และรองรับ async/await วิธีสร้างและเริ่ม Task 1. Task.Run (แนะนำ - เรียบง่ายที่สุด) using System; using System.Threading.Tasks; public class Example { p

  15. คอลเลกชัน Thread-Safe ใน C# (System.Collections.Concurrent)

    ภาพรวม Namespace System.Collections.Concurrent (เพิ่มใน .NET Framework 4) จัดเตรียมคอลเลกชันที่ปลอดภัยต่อเธรด (thread-safe) และ scalable สำหรับการเข้าถึงพร้อมกันจากหลายเธรด คอลเลกชันหลักใน Namespace นี้ คลาสคำอธิบายเหมาะสำหรับ BlockingCollection<T>คอลเลกชันที่รองรับการ block เมื่อเต็มหรือ

  16. การทดสอบหน่วย (Unit Testing) สำหรับโค้ด C#

    ภาพรวม Unit Testing เป็นกระบวนการทดสอบหน่วยโค้ดที่เล็กที่สุด (มักจะเป็นเมธอด) เพื่อให้มั่นใจว่าทำงานถูกต้อง ช่วยลดบั๊ก รองรับการ refactor และเป็นส่วนสำคัญของ Test-Driven Development (TDD) ขั้นตอนสร้าง Unit Test Project ใน Visual Studio เปิด Visual Studio → File → New → Project ค้นหา "Unit Tes

  17. การใช้ ReaderWriterLock ใน C#

    ภาพรวม ReaderWriterLock ใช้สำหรับซิงโครไนซ์การเข้าถึงทรัพยากรที่มีการอ่านมากกว่าการเขียน มันอนุญาตให้หลายเธรดอ่านพร้อมกันได้ แต่การเขียนต้องมีการเข้าถึงแบบ独占 (exclusive) การประกาศและคุณสมบัติหลัก static ReaderWriterLock rwLock = new ReaderWriterLock(); คุณสมบัติคำอธิบาย IsReaderLockHeldตรวจส

  18. การจัดเรียงอาร์เรย์แบบลำดับถอยหลัง (Descending) ใน C#

    ภาพรวม บทความนี้สาธิตวิธีจัดเรียงอาร์เรย์จำนวนเต็มจากมากไปน้อย (descending order) โดยใช้ Array.Sort พร้อม delegate การเปรียบเทียบแบบกำหนดเอง โค้ดตัวอย่าง using System; public class Demo { public static void Main(string[] args) { int[] arr = { 87, 23, 65, 29, 67 }; Console.Writ

  19. การจัดเรียงคำในลำดับเล็กซิโคกราฟิก (Lexicographical) ใน C#

    ภาพรวม บทความนี้แสดงวิธีจัดเรียงอาร์เรย์สตริงตามลำดับเล็กซิโคกราฟิก (พจนานุกรม) โดยใช้ LINQ query syntax โค้ดตัวอย่าง using System; using System.Linq; class Program { static void Main() { string[] arr = { "Indian", "Moroccon", "American" }; var so

  20. อินเทอร์เฟซ SortedMap ใน C# คือ SortedList

    ภาพรวม ใน Java มี SortedMap interface แต่ใน C# คลาสที่เทียบเท่าคือ SortedList ซึ่งเป็นคอลเลกชันที่จัดเก็บคู่คีย์-ค่า (key-value pairs) และจัดเรียงตามคีย์อัตโนมัติ โค้ดตัวอย่าง using System; using System.Collections; namespace Demo { class Program { static void Main(string[] args) {

Total 2668 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:39/134  20-คอมพิวเตอร์/Page Goto:1 33 34 35 36 37 38 39 40 41 42 43 44 45