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

    Enum (Enumeration) ใน C# ใช้จัดกลุ่มค่าคงที่ที่มีชื่อ โดยค่าเริ่มต้นจะเริ่มจาก 0 และเพิ่มทีละ 1 แต่สามารถกำหนดค่าเองได้ การกำหนดค่าเอง public enum Vehicle { Car = 20, // เริ่มที่ 20 Motorcycle, // 21 (อัตโนมัติ +1) Bus, // 22 Truck // 23 } ตัวอย่างสมบูรณ์

  2. การเปรียบเทียบวันที่ (Comparing Dates) ใน C#

    ใน C# สามารถเปรียบเทียบ DateTime ได้โดยตรงด้วยตัวดำเนินการเปรียบเทียบ (<, >, <=, >=, ==, !=) เพราะ DateTime Implement IComparable และ Overload Operators ไว้แล้ว ตัวอย่างการเปรียบเทียบ using System; namespace Program { class Demo { static void Main() {

  3. โปรแกรม C# หาตัวประกอบ (Factors) ของจำนวนที่ป้อน

    ตัวประกอบ (Factor) ของจำนวนเต็ม n คือ จำนวนที่หาร n ลงตัว (เศษ = 0) โปรแกรมนี้รับค่าจากผู้ใช้ แล้วหาตัวประกอบทั้งหมด อัลกอริทึม รับค่า n จากผู้ใช้ วนลูป i = 1 ถึง n ถ้า n % i == 0 แสดงว่า i เป็นตัวประกอบ ตัวอย่างโค้ด using System; namespace Demo { class MyApplication { static vo

  4. โปรแกรม C# นับจำนวนคำในสตริง

    การนับจำนวนคำในสตริง ทำได้โดยการนับตัวคั่นคำ เช่น Space ( ), Tab (\t), Newline (\n) แล้วบวก 1 (เพราะคำสุดท้ายไม่มีตัวคั่นท้าย) อัลกอริทึม ตั้งค่า Count = 1 (คำแรก) วนลูปตรวจสอบทุกตัวอักษรในสตริง หากเจอ Space, Tab, Newline ให้ Count++ ผลลัพธ์ = จำนวนคำ ตัวอย่างโค้ด using System; public class Dem

  5. C# และ .NET Framework: ความสัมพันธ์และความแตกต่าง

    หลายคนสับสนระหว่าง C# (ภาษาโปรแกรม) และ .NET Framework (เฟรมเวิร์ก) จริงๆ แล้วเป็นสิ่งที่ต่างกันแต่เกี่ยวข้องกันอย่างใกล้ชิด C# คืออะไร? ภาษาโปรแกรมมิ่ง (Programming Language) พัฒนาโดย Microsoft นำโดย Anders Hejlsberg รันบน .NET Runtime (CLR) มีฟีเจอร์: OOP, Generics, LINQ, Async/Await, Pattern Ma

  6. Namespace ใน C# vs Package ใน Java: ความแตกต่าง

    ทั้ง Namespace (C#) และ Package (Java) ใช้เพื่อจัดกลุ่มโค้ด ป้องกันชื่อชนกัน (Naming Conflict) และจัดการ Visibility แต่มีรายละเอียดที่ต่างกัน Package ใน Java ประกาศด้านบนสุดไฟล์: package com.example.project; โครงสร้างไดเรกทอรี ต้องตรงกับ Package Structure หนึ่งไฟล์ = หนึ่ง Package ควบคุม Access ได

  7. ขอบเขตของตัวแปรสมาชิก Public ใน C#

    คีย์เวิร์ด public ใน C# กำหนดให้สมาชิก (Field, Property, Method) เข้าถึงได้จาก ที่ใดก็ได้ ทั้งในและนอก Assembly ไม่มีข้อจำกัด ขอบเขต (Scope) ของ public member ภายในคลาสเดียวกัน: เข้าถึงได้ คลาสลูก (Derived Class): เข้าถึงได้ คลาสอื่นใน Assembly เดียวกัน: เข้าถึงได้ คลาสใน Assembly อื่น (Reference

  8. IEnumerable vs IEnumerator ใน C#: ความแตกต่าง

    ทั้ง IEnumerable และ IEnumerator เป็นอินเทอร์เฟซสำหรับการวนลูป (Iteration) ใน C# แต่มีบทบาทที่ต่างกัน IEnumerable (Container) แทนคอลเลกชันที่ สามารถวนลูปได้ มีเมธอดเดียว: GetEnumerator() ส่งคืน IEnumerator ใช้กับ foreach ได้โดยตรง Read-only access เท่านั้น IEnumerator (Cursor/Iterator) แทน Curs

  9. Static Constructor vs Instance Constructor ใน C#: ความแตกต่าง

    C# มี Constructor 2 ประเภทหลัก: Static Constructor และ Instance Constructor มีวัตถุประสงค์และเวลาทำงานที่ต่างกัน Static Constructor ประกาศด้วยคีย์เวิร์ด static รัน ครั้งเดียว ในวงจรชีวิตของคลาส (ก่อนเข้าถึง Static Member แรกครั้ง) ใช้สำหรับ Initialize Static Fields / Static Data ไม่มี Access Modif

  10. Delegation vs Inheritance ใน C#: เลือกใช้แบบไหนดี?

    ทั้ง Delegation (การมอบหมาย) และ Inheritance (การสืบทอด) เป็นเทคนิคสำหรับการนำโค้ดกลับมาใช้ใหม่ (Code Reuse) แต่มีแนวคิดและการใช้งานที่ต่างกัน Inheritance (การสืบทอด) - Is-A Relationship คลาสลูก เป็นประเภทหนึ่งของ คลาสแม่ // Base Class public class Animal { public void Eat() { ... } } // Derived C

  11. คีย์เวิร์ด base ใน C#: เทียบเท่า super ใน Java

    ใน Java ใช้คีย์เวิร์ด super อ้างถึงคลาสแม่ (Superclass) ใน C# ใช้คีย์เวิร์ด base แทน ใช้เพื่อเข้าถึง Constructor, เมธอด, หรือฟิลด์ของคลาสฐาน การใช้งาน base base() - เรียก Constructor ของคลาสแม่ base.Method() - เรียกเมธอดของคลาสแม่ base.Field - เข้าถึงฟิลด์ของคลาสแม่ (เมื่อถูกซ่อนโดยคลาสลูก) ตัวอ

  12. Enqueue และ Dequeue ในคลาส Queue C#: คิวแบบ FIFO

    คลาส Queue<T> ในเนมสเปซ System.Collections.Generic เป็นคอลเลกชันแบบ First-In-First-Out (FIFO) องค์ประกอบที่เพิ่มเข้าก่อนจะถูกนำออกก่อน เหมือนคิวคนรอซื้อตั๋วหนัง เมธอดหลัก Enqueue(T item) - เพิ่มองค์ประกอบเข้าไปที่ท้ายคิว Dequeue() - นำองค์ประกอบที่หัวคิวออกและส่งคืนค่า Peek() - ดูองค์ประกอบห

  13. Events vs Delegates ใน C#: ความแตกต่างและการใช้งาน

    Delegate คือ ตัวแปรอ้างอิง (Reference Type) ที่เก็บการอ้างอิงไปยังเมธอด สามารถเปลี่ยนเมธอดที่ชี้ไปได้ใน Runtime Event คือ Wrapper รอบ Delegate ที่จำกัดการเข้าถึง - ป้องกันไม่ให้โค้ดภายนอก Invoke หรือ Clear Delegate โดยตรง ลดความเสี่ยงของข้อผิดพลาด Delegate // ประกาศ Delegate public delegate void De

  14. คลาส DateTime ใน C#: การจัดการวันที่และเวลา

    คลาส DateTime ใน C# ใช้แทนวันที่และเวลา ช่วงตั้งแต่ 00:00:00 1 มกราคม ปี 1 ถึง 23:59:59 31 ธันวาคม ปี 9999 ใช้ struct (Value Type) ไม่ใช่ class สร้าง DateTime // ระบุปี เดือน วัน DateTime dt = new DateTime(2024, 1, 15); // ระบุถึงวินาที DateTime dt2 = new DateTime(2024, 1, 15, 14, 30, 45); // จาก

  15. Performance Counters ใน C#: ติดตามประสิทธิภาพแอปพลิเคชัน

    Performance Counters ใน C# ใช้สำหรับวัดและติดตามประสิทธิภาพของแอปพลิเคชัน เช่น CPU, Memory, Disk I/O, Network หรือ Custom Counters ของแอปเอง ใช้คลาส PerformanceCounter ในเนมสเปซ System.Diagnostics การเข้าถึง Performance Counter Categories c.CategoryName == Processor); สร้างและอ่าน Counter // อ่าน

  16. การดำเนินการฐานข้อมูล (Database Operations) ใน C#

    การทำงานกับฐานข้อมูลใน C# มักใช้ ADO.NET หรือ Entity Framework Core (แนะนำสำหรับโปรเจกต์ใหม่) ฐานข้อมูลยอดนิยมคือ SQL Server, PostgreSQL, MySQL, SQLite ขั้นตอนพื้นฐานกับ ADO.NET 1. เชื่อมต่อ (Connection) string connectionString = Server=localhost;Database=MyDb;User=sa;Password=****;TrustServerCert

  17. Coupling (การเชื่อมต่อ) ใน C#: Loose vs Tight Coupling

    Coupling (ความเชื่อมต่อ) ใน C# วัดระดับความพึ่งพังระหว่างโมดูลหรือคลาสกัน Coupling ต่ำ (Loose) ดีกว่า Coupling สูง (Tight) เพราะทำให้ระบบยืดหยุ่น ทดสอบง่าย และบำรุงรักษาง่าย Loose Coupling (การเชื่อมต่อหลวม) - แนะนำ คลาสไม่พึ่งพารายละเอียดการทำงานของกันและกัน โดยขึ้นอยู่กับ Abstraction (Interface/A

  18. ฟังก์ชัน Decimal ใน C#

    โครงสร้าง decimal ใน C# ให้ความแม่นยำสูงสำหรับการคำนวณทางการเงินและคณิตศาสตร์ ที่ต้องการความแม่นยำทศนิยม มีเมธอดสแตติกมากมายสำหรับการดำเนินการต่างๆ ตารางฟังก์ชัน Decimal สำคัญ ลำดับเมธอด & คำอธิบาย 1Add(Decimal, Decimal) - บวกค่า Decimal สองค่า 2Ceiling(Decimal) - ค่าจำนวนเต็มที่น้อยที่สุดที่มา

  19. Cohesion (凝聚力) ใน C#: หลักการออกแบบคลาสที่ดี

    Cohesion (ความเชื่อมั่น/ความเป็นหนึ่งเดียว) ใน C# วัดระดับความสัมพันธ์ระหว่างสมาชิกภายในโมดูลหรือคลาสเดียวกัน Cohesion สูงหมายถึงสมาชิกทุกตัวทำงานร่วมกันเพื่อวัตถุประสงค์เดียว ทำให้โค้ดเข้าใจง่าย บำรุงรักษาง่าย และนำกลับมาใช้ใหม่ได้ ระดับ Cohesion High Cohesion (ดี): คลาสทำหน้าที่เดียวเฉพาะเจาะจง

  20. โปรแกรม C# แทนที่ตัวอักษรที่ตำแหน่งที่ n ในสตริง

    เนื่องจากสตริงใน C# เป็น Immutable จึงไม่สามารถแก้ไขตัวอักษรโดยตรงได้ วิธีแก้คือแปลงเป็นอาร์เรย์ตัวอักษร (char[]) แก้ไข แล้วสร้างสตริงใหม่ ขั้นตอน แปลงสตริงเป็น char[] ด้วย ToCharArray() แก้ไขค่าที่ดัชนีที่ต้องการ สร้างสตริงใหม่ด้วย Constructor new string(charArray) ตัวอย่าง: แทนที่ตัวอักษรแรก (

Total 2668 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:68/134  20-คอมพิวเตอร์/Page Goto:1 62 63 64 65 66 67 68 69 70 71 72 73 74