Learning the Basics of C# Language
การเรียนรู้พื้นฐานของภาษา C# ซึ่งเป็นภาษาโปรแกรมมิ่ง ที่ถูกพัฒนาขึ้นโดย Microsoft และใช้ในการพัฒนาโปรแกรมต่าง ๆ บนแพลตฟอร์ม .NET Framework .NET Core .NET 5+
Learning the Basics of C# Language
การเรียนรู้พื้นฐานของภาษา C# ซึ่งเป็นภาษาโปรแกรมมิ่ง ที่ถูกพัฒนาขึ้นโดย Microsoft และใช้ในการพัฒนาโปรแกรมต่าง ๆ บนแพลตฟอร์ม .NET Framework .NET Core .NET 5+ ซึ่งเป็นเทคโนโลยีที่กำลังได้รับความนิยมในการพัฒนาโปรแกรมมากขึ้นในปัจจุบัน
นี่คือบางเนื้อหาพื้นฐานที่เกี่ยวข้องกับ C#
1. การประกาศตัวแปรและประเภทข้อมูล การสร้างตัวแปรและระบุประเภทข้อมูล เช่น int, float, string, bool เป็นต้น
การประกาศตัวแปรและระบุประเภทข้อมูลเป็นขั้นตอนที่สำคัญในการเขียนโปรแกรมด้วย C# โดยปกติแล้ว เมื่อเราประกาศตัวแปร เราจะต้องระบุประเภทข้อมูลของตัวแปรนั้น เพื่อให้คอมไพเลอร์รู้ว่าตัวแปรนั้นเก็บข้อมูลประเภทใด นอกจากนี้ เรายังสามารถกำหนดค่าเริ่มต้นให้กับตัวแปรได้ในขณะที่เราประกาศตัวแปร
ตัวอย่างการประกาศตัวแปรและระบุประเภทข้อมูลใน C#
// ประกาศตัวแปรชนิด int ชื่อว่า number และกำหนดค่าเริ่มต้นเป็น 10
int number = 10;
// ประกาศตัวแปรชนิด float ชื่อว่า floatValue และกำหนดค่าเริ่มต้นเป็น 3.14
float floatValue = 3.14f;
// ประกาศตัวแปรชนิด string ชื่อว่า message และกำหนดค่าเริ่มต้นเป็น "Hello, world!"
string message = "Hello, world!";
// ประกาศตัวแปรชนิด bool ชื่อว่า isTrue และกำหนดค่าเริ่มต้นเป็น true
bool isTrue = true;
-
ในตัวอย่างด้านบน
- int เป็นประเภทข้อมูลที่ใช้เก็บจำนวนเต็ม เช่น 1, 2, 3, -10
- float เป็นประเภทข้อมูลที่ใช้เก็บจำนวนทศนิยม เช่น 3.14, -0.5, 10.0
- string เป็นประเภทข้อมูลที่ใช้เก็บข้อความ เช่น "Hello, world!", "C# Programming", "suwaphan.com"
- bool เป็นประเภทข้อมูลที่ใช้เก็บค่าความจริง เช่น true, false
การประกาศตัวแปรและระบุประเภทข้อมูลใน C# เป็นขั้นตอนพื้นฐานที่จำเป็นต้องรู้ในการเขียนโปรแกรมด้วยภาษานี้
2. โครงสร้างควบคุม การใช้งานโครงสร้างควบคุม เช่น if-else, switch-case, loops เพื่อควบคุมการทำงานของโปรแกรม
โครงสร้างควบคุม (Control structures) เป็นส่วนสำคัญในการเขียนโปรแกรมเพื่อควบคุมการทำงานของโปรแกรมให้เป็นไปตามเงื่อนไขและการวนลูปตามที่กำหนดไว้ โครงสร้างควบคุมช่วยให้โปรแกรมมีการตรวจสอบเงื่อนไข และตัดสินใจในการทำงานของโปรแกรมในแต่ละส่วนได้ตรงไปตรงมา
นี่คือสามโครงสร้างควบคุมที่สำคัญใน C#
2.1 if-else โครงสร้างควบคุมที่ใช้สำหรับตรวจสอบเงื่อนไขและการตัดสินใจในการดำเนินการ ถ้าเงื่อนไขเป็นจริง (true) จะทำงานในส่วนของ if แต่ถ้าเงื่อนไขเป็นเท็จ (false) จะทำงานในส่วนของ else หรือส่วนอื่น ๆ ที่กำหนด
int x = 10;
if (x > 5)
{
Console.WriteLine("x มากกว่า 5");
}
else
{
Console.WriteLine("x น้อยกว่าหรือเท่ากับ 5");
}
2.2 switch-case โครงสร้างควบคุมที่ใช้สำหรับการตรวจสอบค่าของตัวแปรและการตัดสินใจในการดำเนินการตามค่าที่ตรวจสอบ โครงสร้างนี้มักจะใช้แทน if-else ในกรณีที่ต้องตรวจสอบค่าที่มีหลายค่า
int day = 3;
switch (day)
{
case 1:
Console.WriteLine("Sunday");
break;
case 2:
Console.WriteLine("Monday");
break;
case 3:
Console.WriteLine("Tuesday");
break;
default:
Console.WriteLine("Invalid day");
break;
}
2.3 Loops โครงสร้างควบคุมที่ใช้สำหรับการทำงานซ้ำซ้อนจนกว่าเงื่อนไขจะเป็นเท็จ มีสามประเภทหลักคือ for-loop, while-loop และ do-while-loop
for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}
for-loop ใช้สำหรับการทำซ้ำที่จำนวนรอบที่ระบุล่วงหน้า
int j = 0;
while (j < 5)
{
Console.WriteLine(j);
j++;
}
while-loop ใช้สำหรับการทำซ้ำที่มีการตรวจสอบเงื่อนไขก่อนที่จะเริ่มทำงาน
int k = 0;
do
{
Console.WriteLine(k);
k++;
} while (k < 5);
do-while-loop ใช้สำหรับการทำซ้ำที่มีการตรวจสอบเงื่อนไขหลังจากทำงานแล้ว
โครงสร้างควบคุมเหล่านี้ช่วยให้โปรแกรมมีความยืดหยุ่นในการดำเนินการตามเงื่อนไขและการวนซ้ำตามที่ต้องการ
3. การสร้างและใช้งานฟังก์ชัน การสร้างฟังก์ชันเพื่อจัดการกับการทำงานที่ซ้ำซ้อนและเรียกใช้ฟังก์ชัน
การสร้างและใช้งานฟังก์ชัน (Functions) เป็นสิ่งสำคัญในการเขียนโปรแกรม เนื่องจากฟังก์ชันช่วยให้โค้ดมีโครงสร้างและสามารถใช้งานซ้ำได้ โดยทั่วไปแล้ว ฟังก์ชันใช้สำหรับการจัดการกับโปรแกรมแต่ละส่วนที่มีการทำงานเหมือนกันหรือคล้ายกัน ฟังก์ชันสามารถรับค่าอาร์กิวเมนต์ (arguments) เข้ามา เพื่อประมวลผลและส่งค่าคืน (return) ออกไปตามที่กำหนด
นี่คือตัวอย่างการสร้างและใช้งานฟังก์ชันใน C#
// สร้างฟังก์ชันชื่อว่า Add ที่รับค่าสองจำนวนและคืนค่าผลบวก
int Add(int a, int b)
{
return a + b;
}
// เรียกใช้งานฟังก์ชัน Add และแสดงผลลัพธ์ออกทางหน้าจอ
int result = Add(3, 5);
Console.WriteLine("Result: " + result); // ผลลัพธ์จะเป็น 8
// สร้างฟังก์ชันชื่อว่า Greet ที่รับชื่อเข้ามาและพิมพ์ข้อความทักทาย
void Greet(string name)
{
Console.WriteLine("Hello, " + name + "!");
}
// เรียกใช้งานฟังก์ชัน Greet เพื่อทักทายผู้ใช้
Greet("Ake Suwaphan"); // ผลลัพธ์จะเป็น "Hello, Ake Suwaphan!"
-
ในตัวอย่างด้านบน
- Add เป็นฟังก์ชันที่รับพารามิเตอร์สองตัวและคืนค่าผลรวมของพารามิเตอร์ทั้งสอง
- Greet เป็นฟังก์ชันที่รับชื่อเข้ามาและพิมพ์ข้อความทักทายผู้ใช้
การใช้งานฟังก์ชันช่วยให้โค้ดมีความยืดหยุ่นและอ่านง่ายมากขึ้น และช่วยลดการทำซ้ำของโค้ดในโปรแกรม
4. การใช้งาน Class และ Object การสร้าง Class เพื่อแยกพฤติกรรมและข้อมูล และสร้าง Object เพื่อใช้งาน Class นั้น
4.1 Class (คลาส) Class เป็นแบบแผน (Blueprint) หรือรูปแบบที่ใช้ในการสร้าง Object ซึ่งรวบรวมข้อมูล (attributes) และพฤติกรรม (methods) เข้าด้วยกัน ใน C# เราสามารถสร้าง Class โดยใช้คีย์เวิร์ด class ตามด้วยชื่อของ Class และเปิดปิดด้วยเครื่องหมาย {}
ตัวอย่างของการสร้าง Class ใน C#
public class Car
{
// Attributes
public string brand;
public string model;
public int year;
// Method
public void Start()
{
Console.WriteLine("The car is starting...");
}
}
4.2 Object (ออบเจ็กต์) Object เป็นการสร้าง Instance ของ Class และใช้งานฟังก์ชันและข้อมูลที่ถูกกำหนดใน Class นั้น ๆ ซึ่งเราสามารถสร้าง Object ของ Class ได้โดยใช้คำสั่ง new ตามด้วยชื่อของ Class และการเรียกใช้งานฟังก์ชันหรือการเข้าถึงข้อมูลที่ถูกกำหนดไว้ใน Class
ตัวอย่างการสร้าง Object และใช้งานใน C#
Car myCar = new Car(); // สร้าง Object ชื่อ myCar จาก Class Car
// กำหนดค่าข้อมูลให้กับ Object
myCar.brand = "Honda";
myCar.model = "Accord";
myCar.year = 2024;
// เรียกใช้งานเมธอดของ Object
myCar.Start(); // ผลลัพธ์จะเป็น "The car is starting..."
โดยการใช้งาน Class และ Object ช่วยให้โปรแกรมมีโครงสร้างและการจัดการข้อมูลที่เรียบง่ายและมีประสิทธิภาพมากขึ้น และช่วยในการเรียกใช้งานโค้ดที่ถูกสร้างไว้ใหม่ในอนาคตได้ง่ายยิ่งขึ้น
5. การจัดการข้อผิดพลาด การใช้งานการจัดการข้อผิดพลาดเพื่อการดำเนินการต่อไปในกรณีที่เกิดข้อผิดพลาดในระหว่างการทำงาน
5.1 การตรวจสอบข้อผิดพลาด (Error Checking) ตรวจสอบสถานะหรือการทำงานของโปรแกรมในทุก ๆ จุดที่สามารถเกิดข้อผิดพลาดได้ เช่น การตรวจสอบค่าที่รับเข้ามาหรือการทำงานของฟังก์ชัน
5.2 การระบุและรายงานข้อผิดพลาด (Error Logging) ในกรณีที่เกิดข้อผิดพลาด ระบบควรบันทึกข้อมูลข้อผิดพลาดในบันทึกข้อผิดพลาด (Error Log) เพื่อให้สามารถวิเคราะห์และแก้ไขได้ในภายหลัง
5.3 การแจ้งเตือนผู้ใช้งาน (User Notification) หากเกิดข้อผิดพลาดที่สามารถแสดงผลให้ผู้ใช้เห็นได้ ระบบควรแจ้งเตือนผู้ใช้งานเกี่ยวกับข้อผิดพลาดนั้นๆ อย่างชัดเจนและเข้าใจง่าย
5.4 การจัดการข้อผิดพลาด (Error Handling) การรับมือกับข้อผิดพลาดโดยการใช้โครงสร้างการจัดการข้อผิดพลาด เช่น การใช้คำสั่ง try-catch-finally เพื่อจับและจัดการข้อผิดพลาดที่เกิดขึ้น
ตัวอย่างการใช้งาน try-catch ใน C#
try
{
// โค้ดที่อาจเกิดข้อผิดพลาด
int result = 10 / 0; // การหารด้วยศูนย์จะเกิดข้อผิดพลาด
}
catch (Exception ex)
{
// จับข้อผิดพลาดและทำงานที่นี่เมื่อเกิดข้อผิดพลาด
Console.WriteLine ("An error occurred: " + ex.Message);
}
finally
{
// ทำงานที่นี่ไม่ว่าจะมีข้อผิดพลาดหรือไม่ก็ตาม
Console.WriteLine ("The 'try-catch' is finished");
}
การจัดการข้อผิดพลาดช่วยให้โปรแกรมทำงานได้อย่างมีประสิทธิภาพและเสถียรมากขึ้น และช่วยให้ผู้ใช้งานสามารถทำงานต่อไปได้โดยไม่มีการสะดุดหรือหยุดทำงานของโปรแกรม
6. การใช้งาน Array และ Collection การสร้างและใช้งาน Array และ Collection เพื่อจัดเก็บข้อมูลที่มีโครงสร้างต่าง ๆ
การใช้งาน Array และ Collection เป็นวิธีที่มักถูกใช้ในการจัดเก็บข้อมูลในโปรแกรม โดยมีลักษณะและวิธีการใช้งานที่แตกต่างกันดังนี้
-
6.1 Array (อาร์เรย์)
- ลักษณะ Array เป็นโครงสร้างข้อมูลที่เก็บข้อมูลในรูปแบบของชุดข้อมูลที่มีขนาดคงที่ และประกอบด้วยสมาชิกหลายตัว โดยสามารถเข้าถึงสมาชิกแต่ละตัวได้โดยใช้ดัชนี (index) เพื่ออ้างอิงถึงตำแหน่งของข้อมูลในอาร์เรย์
- การสร้างและใช้งาน สร้างอาร์เรย์โดยกำหนดประเภทของข้อมูลและขนาดของอาร์เรย์ จากนั้นกำหนดค่าให้กับสมาชิกแต่ละตัว โดยสามารถเข้าถึงข้อมูลด้วยดัชนีได้
// สร้างอาร์เรย์ของจำนวนเต็มแบบห้าตัว
int[] numbers = new int[5];
// กำหนดค่าให้กับสมาชิกแต่ละตัว
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
numbers[3] = 40;
numbers[4] = 50;
// เข้าถึงและแสดงค่าของสมาชิกแต่ละตัว
Console.WriteLine(numbers[0]); // ผลลัพธ์: 10
Console.WriteLine(numbers[3]); // ผลลัพธ์: 40
-
6.2 Collection (คอลเล็กชัน)
- ลักษณะ Collection เป็นโครงสร้างข้อมูลที่เป็นกลุ่มของอ็อบเจกต์ที่ใช้ในการจัดเก็บข้อมูล แต่ไม่มีขนาดคงที่เหมือนกับอาร์เรย์ ซึ่งมี Collection หลายประเภท เช่น List, Dictionary, Queue, Stack ฯลฯ และสามารถเพิ่ม ลบ และแก้ไขข้อมูลได้ตามต้องการ
- การสร้างและใช้งาน สร้าง Collection โดยใช้คำสั่ง new ตามด้วยชื่อของ Collection และเพิ่มข้อมูลลงใน Collection โดยใช้เมทอดหรือเราสมบัติที่เหมาะสม
using System.Collections.Generic;
// สร้าง List เพื่อจัดเก็บข้อมูลชนิด string
List<string> colors = new List<string>();
// เพิ่มข้อมูลลงใน List
colors.Add("Red");
colors.Add("Black");
colors.Add("Green");
colors.Add("Blue");
// แสดงข้อมูลใน List ทั้งหมด
foreach (string color in colors)
{
Console.WriteLine(colors);
}
การใช้งาน Array และ Collection ช่วยให้โปรแกรมสามารถจัดเก็บข้อมูลได้อย่างมีระเบียบและมีประสิทธิภาพ และสามารถปรับปรุงข้อมูลตามต้องการได้อย่างสะดวกและยืดหยุ่น
7. การทำงานกับไฟล์และการจัดการข้อมูล การอ่านและเขียนไฟล์ และการจัดการกับข้อมูลในรูปแบบต่าง ๆ เช่น XML, JSON, ฐานข้อมูล
การทำงานกับไฟล์และการจัดการข้อมูลเป็นกระบวนการสำคัญในการพัฒนาซอฟต์แวร์ เนื่องจากมันช่วยให้โปรแกรมสามารถอ่าน บันทึก และประมวลผลข้อมูลได้อย่างมีประสิทธิภาพ นี่คือบางวิธีที่มักถูกใช้ในการทำงานกับไฟล์และการจัดการข้อมูล
7.1 อ่านและเขียนไฟล์ การอ่านและเขียนไฟล์เป็นกระบวนการที่สำคัญในการจัดการข้อมูล โดยในภาษา C# มีคลาส System.IO.File ที่ใช้ในการอ่านและเขียนไฟล์ได้ง่าย ๆ
using System.IO;
// อ่านข้อมูลจากไฟล์
string text = File.ReadAllText("filename.txt");
// เขียนข้อมูลลงในไฟล์
File.WriteAllText("newfile.txt", "Hello, world!");
-
7.2 การจัดการกับข้อมูลในรูปแบบต่าง ๆ
- XML (eXtensible Markup Language) XML เป็นภาษาที่ใช้ในการแสดงข้อมูลในรูปแบบของต้นไม้ โดยใน C# มีคลาส System.Xml.XmlDocument และ System.Xml.Linq.XDocument ที่ใช้ในการอ่านและเขียน XML ได้
- JSON (JavaScript Object Notation) JSON เป็นรูปแบบของข้อมูลที่ใช้ในการสื่อสารระหว่างเซิร์ฟเวอร์และไคลเอนต์ ใน C# มีคลาส System.Text.Json.JsonSerializer และ Newtonsoft.Json.JsonConvert ที่ใช้ในการอ่านและเขียน JSON ได้
using System.Xml.Linq;
using Newtonsoft.Json;
// อ่าน XML จากไฟล์
XDocument doc = XDocument.Load("data.xml");
// อ่าน JSON จากไฟล์
string json = File.ReadAllText("data.json");
dynamic data = JsonConvert.DeserializeObject(json);
7.3 ฐานข้อมูล (Database) การจัดการข้อมูลในฐานข้อมูลเป็นส่วนสำคัญของการพัฒนาซอฟต์แวร์ ใน C# มี ADO.NET ที่ใช้ในการเชื่อมต่อกับฐานข้อมูลและใช้ภาษา SQL เพื่อการจัดการข้อมูล
using System.Data.SqlClient;
// เชื่อมต่อกับฐานข้อมูล SQL Server
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
using (SqlConnection connection = new SqlConnection(connectionString))
{
// สร้างและส่งคำสั่ง SQL
SqlCommand command = new SqlCommand("SELECT * FROM MyTable", connection);
connection.Open();
// อ่านข้อมูลจากฐานข้อมูล
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["ColumnName"].ToString());
}
}
การทำงานกับไฟล์และการจัดการข้อมูลช่วยให้โปรแกรมสามารถจัดการข้อมูลได้อย่างมีประสิทธิภาพและสะดวกสบาย และช่วยในการเก็บรักษาข้อมูลให้เป็นระเบียบและปลอดภัย
8. การใช้งานการสืบทอด (Inheritance) และ Polymorphism การสร้างคลาสที่สืบทอดเราสมบัติจากคลาสอื่น ๆ และการใช้งานเราสมบัติของคลาสแม่
การสืบทอด (Inheritance) และ Polymorphism เป็นหลักการสำคัญในการพัฒนาโปรแกรมเชิงวัตถุ (Object-Oriented Programming) ที่ช่วยให้โปรแกรมสามารถใช้งานและรวมร่างของโค้ดได้อย่างยืดหยุ่นและเป็นระเบียบมากขึ้น
-
8.1 การสืบทอด (Inheritance)
- การสืบทอดเป็นกระบวนการที่คลาสหนึ่งสามารถสืบเราสมบัติและพฤติกรรมจากคลาสอื่น ๆ ที่เรียกว่าคลาสแม่ (Base Class) หรือ Super Class โดยทำให้คลาสลูก (Derived Class) สามารถใช้งานเราสมบัติของคลาสแม่ได้
- โดยทั่วไปแล้ว การสืบทอดช่วยในการสร้างคลาสที่มีลักษณะและพฤติกรรมที่คล้ายกัน แต่มีความแตกต่างในรายละเอียดเฉพาะของแต่ละคลาส
// คลาสแม่
class Animal
{
public virtual void Sound()
{
Console.WriteLine("เสียงเห่าของสุนัข คือ");
}
}
// คลาสลูก
class Dog : Animal
{
public override void Sound()
{
Console.WriteLine("ฮ่อง ฮ่อง!");
}
}
-
8.2 Polymorphism
- Polymorphism หมายถึงความสามารถของอ็อบเจกต์ในการแสดงพฤติกรรมที่แตกต่างกันไปขึ้นอยู่กับประเภทของอ็อบเจกต์นั้น ๆ ซึ่งมันเป็นผลมาจากการสืบทอด
- เมื่อเรียกใช้เมทอดหรือการทำงานบางอย่างกับอ็อบเจกต์ ระบบจะตรวจสอบประเภทของอ็อบเจกต์และเรียกใช้เมทอดหรือการทำงานที่เหมาะสมตามคลาสของอ็อบเจกต์นั้น
Animal myDog = new Dog();
myDog.Sound(); // ผลลัพธ์: ฮ่อง ฮ่อง!
การใช้งาน Inheritance และ Polymorphism ช่วยให้โปรแกรมสามารถเขียนโค้ดที่ยืดหยุ่นและมีประสิทธิภาพมากขึ้น โดยช่วยลดการทำซ้ำของโค้ดและเพิ่มความสามารถในการเปลี่ยนแปลงและการขยายตัวของโปรแกรมได้ง่ายขึ้น
9. การใช้งานการจัดการกับเวลา การทำงานกับวันที่และเวลา เช่น การคำนวณวันที่, การจัดรูปแบบของวันที่
การจัดการกับเวลาเป็นกระบวนการที่สำคัญในการพัฒนาซอฟต์แวร์ เนื่องจากมันช่วยให้โปรแกรมสามารถทำงานกับข้อมูลเวลาและวันที่ได้อย่างถูกต้องและมีประสิทธิภาพ นี่คือบางวิธีที่สามารถใช้ในการจัดการกับเวลาในภาษา C#
9.1 การคำนวณวันที่และเวลา ใน C# มีคลาส System.DateTime ที่ใช้ในการจัดการกับวันที่และเวลา โดยมันมีเมทอดต่าง ๆ ที่ช่วยในการคำนวณและจัดการกับข้อมูลเวลา
DateTime now = DateTime.Now; // วันที่และเวลาปัจจุบัน
DateTime tomorrow = now.AddDays(1); // วันที่พรุ่งนี้
TimeSpan difference = tomorrow - now; // คำนวณช่วงเวลาระหว่างวันที่
Console.WriteLine($"Difference in days: {difference.TotalDays}");
9.2 การจัดรูปแบบของวันที่ เมื่อต้องการแสดงหรือประมวลผลข้อมูลวันที่ในรูปแบบที่ต้องการ เราสามารถใช้เมทอด ToString() ของ DateTime และใช้รูปแบบสตริง (String Format) ในการกำหนดรูปแบบที่ต้องการ
DateTime now = DateTime.Now;
string formattedDate = now.ToString("dd/MM/yyyy"); // แสดงวันที่ในรูปแบบ "dd/MM/yyyy"
Console.WriteLine($"Formatted date: {formattedDate}");
การทำงานกับเวลาช่วยให้โปรแกรมสามารถจัดการกับข้อมูลเวลาและวันที่ได้อย่างถูกต้องและมีประสิทธิภาพ และช่วยในการแสดงข้อมูลวันที่ในรูปแบบที่เหมาะสมในแต่ละการใช้งาน
10. การเขียนและใช้งาน LINQ (Language Integrated Query) การใช้งาน LINQ เพื่อทำการคิวรีข้อมูล และจัดการข้อมูลในรูปแบบที่สะดวกและมีประสิทธิภาพ
LINQ (Language Integrated Query) เป็นส่วนหนึ่งของ C# ที่ช่วยให้ผู้พัฒนาสามารถทำการคิวรี (query) ข้อมูลในแหล่งต่าง ๆ ได้อย่างสะดวกและมีประสิทธิภาพ โดยสามารถใช้งานกับแหล่งข้อมูลที่หลากหลาย เช่น Enumerable, Arrays, Collections, XML, Databases, และอื่น ๆ
นี่คือบางตัวอย่างของการเขียนและใช้งาน LINQ
10.1 การใช้งาน LINQ to Objects LINQ to Objects ใช้สำหรับการคิวรีข้อมูลใน Enumerable, Arrays, Collections และอื่น ๆ ในรูปแบบที่สะดวก
// ตัวอย่างการค้นหาข้อมูลจาก Array โดยใช้ LINQ
string[] fruits = { "apple", "banana", "orange", "grape" };
var query = from fruit in fruits
where fruit.StartsWith("a")
select fruit;
foreach (var fruit in query)
{
Console.WriteLine(fruit);
}
10.2 การใช้งาน LINQ to SQL LINQ to SQL ใช้สำหรับการคิวรีข้อมูลในฐานข้อมูล SQL โดยใช้ LINQ query ภายใน C# และจะแปลง LINQ query ให้เป็น SQL query เพื่อทำงานกับฐานข้อมูล
// ตัวอย่างการค้นหาข้อมูลจากฐานข้อมูลโดยใช้ LINQ
var query = from customer in dbContext.Customers
where customer.City == "Bangkok"
select customer;
foreach (var customer in query)
{
Console.WriteLine(customer.Name);
}
การใช้งาน LINQ ช่วยให้สามารถทำการคิวรีข้อมูลและจัดการข้อมูลในรูปแบบที่สะดวกและเข้าใจง่ายได้มากขึ้น และช่วยลดจำนวนของโค้ดที่ต้องเขียนเองลงไปบนโปรแกรมด้วย
การเรียนรู้พื้นฐานของภาษา C# ซึ่งเป็นภาษาโปรแกรมมิ่ง ที่ถูกพัฒนาขึ้นโดย Microsoft และใช้ในการพัฒนาโปรแกรมต่าง ๆ บนแพลตฟอร์ม .NET Framework .NET Core .NET 5+ ซึ่งเป็นเทคโนโลยีที่กำลังได้รับความนิยมในการพัฒนาโปรแกรมมากขึ้นในปัจจุบัน
การทำความเข้าใจรู้พื้นฐานของภาษา C# จะช่วยให้เราสามารถเรียนรู้และพัฒนาโปรแกรมในภาษา C# ได้อย่างมีประสิทธิภาพและเป็นระเบียบ