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

    การเช็ค Internet Connectivity ใน C# มีหลายวิธี ขึ้นอยู่กับความแม่นยำและ Use Case วิธีที่ 1: HttpClient / WebClient (Real Connectivity Test - แนะนำ) ทดสอบจริงโดย Request ไปยัง Endpoint ที่เชื่อถือได้ using System; using System.Net.Http; using System.Threading.Tasks; public static class Connectivity

  2. วิธี Overload Indexer (Operator []) ใน C#

    Indexer (เรียกว่า this[]) ช่วยให้ Object ใช้ Syntax แบบ Array ได้ obj[index] สามารถ Overload ได้หลาย Signature Syntax พื้นฐาน _data[index] = value; } } ตัวอย่างที่ 1: Basic Integer Indexer _members[index] = value; } } static void Main() { Team team = new Team(); team[0] = Alice;

  3. วิธี Deserialize JSON เป็น .NET Object และดึงค่าเฉพาะจาก Array ด้วย Newtonsoft.Json

    ใช้ Newtonsoft.Json (Json.NET) สำหรับ Deserialize JSON เป็น Strongly-typed Objects และเข้าถึงข้อมูลใน Array ตัวอย่าง: เรียก API และ Deserialize เป็น Array using Newtonsoft.Json; using System; using System.Net.Http; using System.Threading.Tasks; public class Post { public int UserId { get; set;

  4. วิธีดึง IP Address ใน C#

    การดึง IP Address ใน C# มีหลายระดับ: Local Machine IP, Public IP, IPv4/IPv6 1. Local IP Address (LAN/IPv4) using System; using System.Net; using System.Net.Sockets; using System.Linq; public static string GetLocalIPv4() { string hostName = Dns.GetHostName(); // ชื่อเครื่อง IPHostEntry host

  5. ความแตกต่างระหว่าง | และ || (OR Operators) ใน C#

    ใน C# มี OR Operator 2 แบบ ที่ทำงานต่างกันในระดับ Bitwise และ Logical 1. | - Bitwise OR / Logical OR (Non-Short-circuiting) Bitwise: บน Integer Types (int, long, byte...) ทำ OR ทีละ Bit Logical: บน bool ประเมิน ทั้งสอง Operand เสมอ (Non-Short-circuiting) Bitwise Example int a = 4; // Binary

  6. วิธีใช้ NOT IN Query ใน C# LINQ

    ใน LINQ ไม่มี Keyword NOT IN โดยตรง แต่ใช้ Except, Where + !Contains, หรือ !Any แทน สถานการณ์: ได้ Items ใน List A ที่ไม่อยู่ใน List B var listA = new[] { 1, 2, 3, 4, 5, 6 }; var listB = new[] { 3, 4 }; // Items to exclude วิธีที่ 1: Except (Set Operation - แนะนำมากที่สุด) // คืน Elements ใน listA

  7. วิธีเช็คว่า String Array มีคำเฉพาะเจาะจงใน C#

    การตรวจสอบว่า Array/List ของ String มีค่าที่ต้องการหรือไม่ มีหลายวิธี แตกต่างใน Performance และ Features ตัวอย่างข้อมูล string[] fruits = { Apple, Banana, Cherry, Date, Elderberry }; วิธีที่ 1: Array.Contains / List.Contains (Simple, Case-Sensitive) bool hasBanana = fruits.Contains(Banana); //

  8. Lambda Expression ใน C# คืออะไร

    Lambda Expression คือ Anonymous Function แบบกระชับ (Concise Syntax) ใช้สร้าง Delegate หรือ Expression Tree ได้ มีรูปแบบ: { statements; } // Statement Lambda รูปแบบต่างๆ 1. Expression Lambda (Single Expression - Implicit Return) x == y; 2. Statement Lambda (Block Body - ต้องมี Return Statem

  9. วิธี Re-throw InnerException โดยไม่สูญเสีย Stack Trace ใน C#

    ใน C# การ Re-throw Exception อย่างถูกต้องสำคัญมากสำหรับการ Debugging เพราะ Stack Trace บอกที่มาของ Error วิธีที่ผิด (❌ Loses Stack Trace) try { DoWork(); } catch (Exception ex) { // ❌ สร้าง Exception ใหม่ - Stack Trace ชี้ที่นี่! throw new Exception(Error occurred, ex); // หรื

  10. วิธีตั้งค่า Property ผ่าน Reflection ใน C#

    Reflection ใน .NET ใช้ Namespace System.Reflection เพื่อตรวจสอบและจัดการ Metadata ของ Types, Properties, Methods, Fields ใน Runtime ขั้นตอนการ Set Property ผ่าน Reflection ดึง Type ของ Object (obj.GetType() หรือ typeof(T)) หา PropertyInfo ด้วย GetProperty(name) เรียก SetValue(obj, value, ind

  11. วิธีแปลง String เป็น Title Case (ตัวแรกใหญ่) ใน C#

    Title Case คือการทำให้ตัวอักษรแรกของแต่ละคำเป็นตัวใหญ่ (Capitalize) ส่วนตัวอื่นเป็นตัวเล็ก ใช้สำหรับชื่อเรื่อง ชื่อตัวละคร หัวข้อ ฯลฯ ใน .NET ใช้ TextInfo.ToTitleCase จาก System.Globalization ตัวอย่างพื้นฐาน using System; using System.Globalization; static void Main() { string input = wAr aNd

  12. ประโยชน์ของการใช้ readonly กับ Field ใน C#

    readonly เป็น Modifier สำหรับ Field (Field Declaration) ที่บ่งบอกว่า Field นี้สามารถกำหนดค่าได้เฉพาะ: ตอนประกาศ (Declaration) ใน Constructor ของคลาสเดียวกัน (Instance Constructor หรือ Static Constructor) ต่างจาก const ที่ต้องเป็น Compile-time Constant และเป็น Static โดยอัตโนมัติ 4 Contexts ข

  13. ตัวเลือกแทน String.Replace แบบ Case-Insensitive ใน C#

    String.Replace เป็น Case-Sensitive เท่านั้น หากต้องการ Replace แบบไม่สนใจ Case (Case-Insensitive) ต้องใช้วิธีอื่น วิธีที่ 1: Regex.Replace (มาตรฐาน ที่สุด) using System.Text.RegularExpressions; public static string ReplaceCaseInsensitive(string input, string oldValue, string newValue) { if (st

  14. วิธี Parse String เป็น Nullable Int (int?) ใน C#

    Nullable Value Types (int?, DateTime?, bool? เป็นต้น) อนุญาตให้ Value Type เก็บค่า null ได้ ใช้ Nullable<T> หรือ Syntax Sugar T? Extension Method สำหรับ Parse String → int? public static class StringExtensions { // Parse String เป็น int? คืน null หาก Parse ไม่ได้ public static int? To

  15. วิธี Initialize List ของ Tuple อย่างง่ายใน C#

    Tuple เป็นโครงสร้างข้อมูลที่เก็บค่าหลายค่า (Elements) ที่ชนิดข้อมูลต่างกันได้ จำกัดสูงสุด 8 Elements (ใน Tuple<T1..T8>) แต่ C# 7.0+ มี ValueTuple (Struct) ที่รองรับ Unlimited Elements และมี Syntax Sugar Tuple แบบเก่า (Reference Type - System.Tuple) // ต้องระบุ Type ทุกตัว Tuple<int, string

  16. วิธีแปลงวินาทีเป็นรูปแบบ ชั่วโมง:นาที:วินาที:มิลลิวินาที ใน C#

    ใช้โครงสร้าง TimeSpan ซึ่งแสดงช่วงเวลา (Time Interval) และมี Method Static สำหรับสร้างจากหน่วยต่างๆ เมธอดสร้าง TimeSpan TimeSpan.FromSeconds(double) TimeSpan.FromMinutes(double) TimeSpan.FromHours(double) TimeSpan.FromDays(double) TimeSpan.FromMilliseconds(double) TimeSpan.FromTicks(lo

  17. วิธีตรวจสอบว่า .NET Core SDK/Runtime ติดตั้งแล้วหรือไม่

    ใช้คำสั่ง CLI dotnet ใน Terminal/Command Prompt เพื่อตรวจสอบการติดตั้ง คำสั่งหลัก Command คำอธิบาย Output ตัวอย่าง dotnet --info ข้อมูลละเอียด: SDK Version, Runtime Versions, OS, RID, Base Path, Global JSON ดูด้านล่าง dotn

  18. วิธีจำกัด Parallel.ForEach ใน C#

    Parallel Foreach Parallel.ForEach loop ใน C# ทำงานบนหลายเธรดและการประมวลผลเกิดขึ้นแบบขนาน Parallel.ForEach loop ไม่ใช่คุณสมบัติพื้นฐานของ C# และพร้อมใช้งานตั้งแต่ C# 4.0 ขึ้นไป เพื่อใช้ Parallel.ForEach loop เราต้อง import namespace System.Threading.Tasks ใน using directive Foreach Foreach loop ใน

  19. วิธี Resize/Compress รูปภาพ (Image) ใน C#

    ใช้ Namespace System.Drawing (Windows Forms) หรือ System.Drawing.Common (Cross-platform) และ System.Drawing.Imaging สำหรับ Encoder/Quality ตัวอย่าง: Compress และ Save JPEG ด้วย Quality Setting using System; using System.Drawing; using System.Drawing.Imaging; using System.Text.RegularExpressions; us

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