Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#
C#
  1. วิธีทำ Versioning ด้วย Query String Parameter ใน C# ASP.NET WebAPI

    Class DefaultHttpControllerSelector รับผิดชอบเลือก Controller ที่เหมาะสมจาก URI หากส่ง Version ผ่าน Query String เช่น https://localhost:58174/api/student?v=1 จะเกิด Error 404 เพราะ Selector หา StudentsController ไม่เจอ (มีแค่ StudentsV1Controller และ StudentsV2Controller) แก้ไขโดยสร้าง CustomContro

  2. วิธีสร้าง Exception Filter จัดการ Exception ที่ไม่ได้ Handle ใน C# ASP.NET WebAPI

    Exception Filter จะทำงานเมื่อ Controller Method โยน Exception ที่ไม่ได้จัดการ และไม่ใช่ HttpResponseException (ซึ่งถูกออกแบบมาเพื่อส่ง HTTP Response กลับโดยตรง) Exception Filter implement interface IExceptionFilter วิธีง่ายสุดคือสืบทอดจาก ExceptionFilterAttribute และ Override เมธอด OnException ตัวอย

  3. วิธีทำ Versioning ด้วย Accept Header ใน C# ASP.NET WebAPI

    Accept Header บอก Server ว่า Client ต้องการข้อมูลในรูปแบบไหน (MIME Types) สามารถส่ง Version ผ่าน Header Parameter ได้ เช่น: Version=1 → StudentsV1Controller Version=2 → StudentsV2Controller สร้าง CustomControllerSelector เพื่ออ่าน Version จาก Header Parameter ตัวอย่าง CustomControllerSelector p.

  4. วิธีทำ Versioning ด้วย Custom Media Type ใน C# ASP.NET WebAPI

    Media Type ใช้บอก Client ว่าควรตีความข้อมูลใน Payload อย่างไร ใน HTTP Protocol มี Media Types เช่น text/html, application/json, application/xml และ API-specific types เช่น application/vnd.api+json ตัวอย่าง Media Type สำหรับ Versioning: application/vnd.demo.students.v1+json → StudentsV1Controller ap

  5. วิธีสร้าง LOG Filter สำหรับการ Logging ใน C# ASP.NET WebAPI

    Action Filter ใช้สำหรับเพิ่มตรรกะพิเศษก่อนหรือหลังการทำงานของ Action Method โดยใช้เมธอด OnActionExecuting และ OnActionExecuted เพื่อแทรกโค้ดก่อนและหลังการรัน Action Method มาสร้าง LogAttribute ที่สืบทอดมาจาก ActionFilterAttribute เพื่อบันทึกข้อมูลก่อนและหลังการทำงานของ Action Method ตัวอย่างโค้ด Log

  6. Shallow Copy vs Deep Copy ใน C# ต่างกันยังไง

    Shallow Copy vs Deep Copy ใน C# การ Copy Object ใน C# มี 2 แบบหลัก ที่แตกต่างกันในการจัดการ Reference Type ภายใน Object Shallow Copy (คัดลอกตื้น) คัดลอก Value Type Fields (int, bool, struct, etc.) แบบ Value คัดลอก Reference Type Fields (class, array, string) แบบ Reference (Address) Object เด

  7. วิธีใช้ Take และ Skip Operator ร่วมกันใน LINQ C#

    Take และ Skip Operators ใน LINQ Take(n) - คืน n Element แรกจาก Sequence Skip(n) - ข้าม n Element แรก คืน Element ที่เหลือ ร่วมกันใช้สำหรับ Pagination (แบ่งหน้า) และ Windowing Syntax // Method Syntax var result = source.Skip(skipCount).Take(takeCount); // Query Syntax var result = (from item in s

  8. การใช้ Take และ Skip ร่วมกันใน LINQ C#

    Take และ Skip Operators ใน LINQ Take(n) - เอา n ตัวแรกจาก Sequence Skip(n) - ข้าม n ตัวแรก แล้วเอาส่วนที่เหลือ รวมกันใช้ได้: Paging (การแบ่งหน้า) Syntax // Skip แล้ว Take (สำคัญ: ลำดับนี้!) var page = source.Skip(pageSize * (pageNumber - 1)).Take(pageSize); // หรือ Query Syntax var page = (from i

  9. วิธีสร้าง Array ด้วยค่าซ้ำที่ไม่ใช่ Default ใน C#

    Enumerable.Repeat() - สร้าง Sequence ค่าซ้ำ Enumerable.Repeat<T>(element, count) (ใน System.Linq) สร้าง IEnumerable<T> ที่มีค่า element ซ้ำ count ครั้ง ตัวอย่างพื้นฐาน using System; using System.Linq; class Program { static void Main() { // สร้าง IEnumerable ค่า 10 ซ้ำ

  10. วิธีบังคับ Garbage Collection ใน C#

    GC.Collect() - การบังคับ Garbage Collection ใน C# Garbage Collector (GC) ใน .NET จัดการ Memory อัตโนมัติ แต่มีเมธอด GC.Collect() สำหรับบังคับให้ GC ทำงานทันที ⚠️ คำเตือน: ไม่แนะนำให้เรียก GC.Collect() เองใน Production Code GC ของ .NET มี Generational Algorithm ที่ฉลาดพอจะจัดการได้เอง การบังคับอาจท

  11. วิธีดึง Unix Timestamp ใน C#

    Unix Timestamp คืออะไร Unix Timestamp (หรือ Unix Time / POSIX Time) คือจำนวนวินาทีที่ผ่านไปตั้งแต่ Unix Epoch: 1 มกราคม 1970 00:00:00 UTC ไม่รวม Leap Seconds ใช้กันทั่วไปในระบบ Unix/Linux, Database, API, Logging เป็น Integer (32-bit หรือ 64-bit) จัดการง่าย ไม่มี Timezone issue Year 2038 Probl

  12. Directives #if DEBUG vs #else #endif ใน C#

    Preprocessor Directives สำหรับ Debug/Release Build ใน C# C# ใช้ Preprocessor Directives (ขึ้นต้นด้วย #) เพื่อควบคุมการคอมไพล์โค้ดตาม Build Configuration (Debug/Release) Build Configuration ใน Visual Studio Debug - ใช้สำหรับ Debugging มี Symbol (PDB), ไม่ Optimize, Define DEBUG และ TRACE Releas

  13. วิธีใช้ Join กับ LINQ และ Lambda ใน C#

    การใช้ Join ใน LINQ (C#) Join ใช้รวมข้อมูลจาก 2 แหล่ง (Collection/Table) ตามเงื่อนไขที่กำหนด คล้าย SQL JOIN ประเภท Join Inner Join - คืนเฉพาะรายการที่มีคู่ในทั้งสองฝั่ง (Default ของ LINQ Join) Left Join - คืนทุกฝั่งซ้าย + ข้อมูลฝั่งขวาที่มีคู่ (ใช้ GroupJoin + DefaultIfEmpty) Cross Join - Ca

  14. วิธีเรียงลำดับ List ของ Complex Types ด้วย Comparison Delegate ใน C#

    Overloads ของเมธอด Sort() ในคลาส List คาดหวังให้ส่ง Comparison<T> Delegate เข้าไปเป็น Argument public void Sort(Comparison comparison) CompareTo คืนค่า Integer บ่งชี้ว่า Value ของ Instance นี้น้อยกว่า เท่ากับ หรือมากกว่า Value ของ Object ที่ระบุ เมธอด Int16.CompareTo() ใน C# ใช้เปรียบเทีย

  15. ความแตกต่างระหว่าง Monitor และ Lock ใน C#

    ทั้ง Monitor และ lock จัดเตรียม Mechanism สำหรับ Synchronize Access ไปยัง Objects lock เป็น Shortcut สำหรับ Monitor.Enter พร้อม try และ finally lock เป็น Shortcut และเป็น Option สำหรับ Basic Usage ถ้าต้องการ Control มากขึ้นสำหรับ Advanced Multithreading Solutions ใช้ TryEnter(), Wait(), Pulse(), Pu

  16. วิธีเขียน Retry Logic ใน C#

    Retry Logic ถูก Implement เมื่อมี Operation ที่ล้มเหลว ควร Implement Retry Logic เฉพาะที่มี Full Context ของ Failing Operation สำคัญที่จะ Log Connectivity Failures ทั้งหมดที่ทำให้เกิด Retry เพื่อให้ระบุปัญหา Root Cause ของ Application, Services, หรือ Resources ได้ ตัวอย่างพื้นฐาน: Retry Helper c

  17. วิธี Implement Interface ใน Anonymous Class ใน C#

    ไม่สามารถ Implement Interface ใน Anonymous Types ได้ ต้องสร้าง Type ของตัวเอง Anonymous Types ให้วิธีสะดวกในการ Encapsulate Set ของ Read-only Properties เข้าเป็น Object เดียวโดยไม่ต้อง Define Type ก่อน Type Name ถูก Generate โดย Compiler และไม่พร้อมใช้งานที่ Source Code Level Type ของแต่ละ Propert

  18. ความแตกต่างระหว่าง if/else และ switch-case ใน C#

    Switch เป็น Selection Statement ที่เลือก Switch Section เดียวจาก List ของ Candidates ตาม Pattern Match กับ Match Expression Switch Statement บ่อยครั้งใช้แทน If-Else Construct ถ้า Single Expression ถูก Test กับ 3+ Conditions Switch Statement เร็วกว่า ใน Switch Statement จำนวนการ Compare เฉลี่ยจะเป็

  19. การปรับปรุง Out Parameter ใน C# 7.0

    เราสามารถประกาศ Out Variables แบบ Inline ได้ใน Argument List ของ Method ที่ใช้ แทนที่จะเขียน Declaration Statement แยกต่างหาก Existing Out Parameters ได้รับการปรับปรุงใน Version นี้ ตอนนี้เราสามารถประกาศ Out Variables ใน Argument List ของ Method Call ได้ ข้อดี Code อ่านง่ายขึ้น ไม่ต้อง Assign Ini

  20. Deconstructors ใน C# 7.0 คืออะไร

    C# อนุญาตให้ใช้ Multiple Deconstructor Methods ในโปรแกรมเดียวกัน ด้วยจำนวน Out Parameters เท่ากัน หรือ จำนวนและ Type ของ Out Parameters เท่ากันแต่ลำดับต่างกัน มันเป็นส่วนหนึ่งของ Tuple Syntax ใหม่ - ไม่เกี่ยวกับ Tuple Classes แต่มาจาก Functional Programming Keyword Deconstruct ใช้สำหรับ Deconstruc

Total 2668 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:125/134  20-คอมพิวเตอร์/Page Goto:1 119 120 121 122 123 124 125 126 127 128 129 130 131