บทความ Web .NET และ Programming
การบัฟเฟอร์ข้อมูลของ Memory<T> และ Span<T> ใน .NET Core 3 และ C# 8
ในบทความ มีอะไรใหม่ใน .NET Core 3 และ C# 8 : Stackalloc ซ้อนนิพจน์ ได้พูดเรื่อง stackalloc ที่เริ่มตั้งแต่ C#8 และ .NET Core 3.0 ถ้าผลลัพธ์ของนิพจน์ stackalloc มีชนิดข้อมูลเป็นแบบ System.Span หรือ System.ReadOnlySpan เราสามารถใส่นิพจน์ stackalloc ซ้อนไว้ภายในนิพจน์อื่น ๆ ได้ สำหรับบทความนี้จะกล่าวถึง ลักษณะการบัฟเฟอร์ข้อมูลของ Memory และ Span ว่ามีข้อควรพิจารณาในการใช้งานอย่างไร
ref struct ใน .NET Core 3 และ C# 8
จากบทความ มีอะไรใหม่ใน .NET Core 3 และ C# 8 : Stackalloc ซ้อนนิพจน์ ได้พูดถึง คุณสมบัติ Span ไว้ และได้บอกว่ามันคือ ref struct ในหัวข้อนี้จะขออธิบายรายละเอียดเกี่ยวกับ ref struct โดยย่อพอเข้าใจ
Record types ใน .NET 5 และ C# 9
.NET 5.0 มีการปรับปรุงประสิทธิภาพและเพิ่ม Feature ใหม่ๆ สำหรับบทความนี้ขอแนะนำให้รู้จักกับ Records Types ในภาษา C# ซึ่งเป็น Version 9.0 (C# 9)
Using statement ใน .NET Core 3 และ C#8
เมื่อเรามีการเขียนคำสั่งในการสร้างอ็อบเจกต์ จะมีการใช้พึ้นที่บนหน่วยความจำในการเก็บค่าต่าง ๆ แต่ปรกติเราไม่จำเป็นต้องทำลายอ็อบเจกต์ เพราะอ็อบเจกต์ส่วนใหญ่จะถูก garbage collector นำไปทำลายโดยอัตโนมัติเมื่อหมดหน้าที่การทำงานแล้ว
Using directive ใน .NET Core 3 และ C#8
นอกจากการจะใช้คำสั่ง using เพื่อทำ Using declarations ซึ่งเป็นการใช้กับการประกาศตัวแปรหรือ Object ภายในไฟล์ ซึ่งสามารถอ่านได้ที่บทความ Using declarations ใน .NET Core 3 และ C#8 ภาษา C# ยังมีการใช้คำสั่ง using ในลักษณะอื่นอีกได้แก่ 1. การใช้ using เพื่อการกำหนด namespace ที่ต้องการอ้างถึงเพื่ออำนวยความสะดวกให้ไม่ต้องอ้างถึงคลาสหรือสิ่งต่าง ๆ แบบ fully qualify
มีอะไรใหม่ใน .NET 5 และ C# 9
.NET 5.0 เป็นเวอร์ชั่นใหม่ของ .NET Core ต่อจากเวอร์ชั่น 3.1 โดยชื่อจะเรียก “.NET 5.0” แทนที่จะเป็น .NET Core 4.0 โดยทางบริษัทไมโครซอฟต์มีเหตุผลหลัก ๆ คือ
Using declarations ใน .NET Core 3 และ C#8
บทความนี้กล่าวถึง Using declarations ใน .NET Core 3 และ C#8 เปรียบเทียบกับการใช้ Using แบบเดิมก่อนที่เขียนใน Version ก่อนหน้า
ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ ตอนที่ 9
เมธอดเสริม (Extension Method) แปลกกว่าเมธอดสมาชิกอื่น ๆ ที่เวลานิยามเราต้องนิยามมันแบบสแตติกเมธอด (static method เมธอดที่เป็นสมาชิกของคลาส ไม่ใช่ของออพเจ็กต์) แต่เวลาเรียกใช้งานเรากลับต้องเรียกใช้งานแบบอินสแตนซ์เมธอด (instance method เมธอดที่เป็นสมาชิกของออพเจ็กต์ ไม่ใช่ของคลาส) พารามิเตอร์ตัวแรกของเมธอดเป็นตัวกำหนดว่าเมธอดนั้นทำงานกับอะไร ในรูปที่ 1 บรรทัดที่ 9 จะเห็นว่ามีคำสั่ง (โมดิไฟเออร์) this ปรากฏอยู่หน้าพารามิเตอร์ คำสั่ง this ทำหน้าที่กำหนดว่าเมธอดนี้ทำงานกับออพเจ็กต์ (ไม่ใช่กับคลาส)
ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ : Interface กับ การสืบคุณสมบัติจากหลายแหล่ง (Multiple Inheritance)
การออกแบบและเขียนโปรแกรมแบบ OOP (Object Oriented) ตั้งอยู่บนหลักการสามประการที่เปรียบได้กับสามเสาหลัก ประกอบด้วย Encapsulation, Inheritance และ Polymorphism หากท่านเข้าใจหลักการทั้งสามนี้ ก็เท่ากับว่าท่านเข้าใจหัวใจของ OOP ทั้งหมดแล้ว สำหรับบทความนี้จะกล่าวถึงการสืบคุณสมบัติ หรือ Inheritance นั่นเอง
มีอะไรใหม่ใน .NET Core 3 และ C# 8 : Stackalloc ซ้อนนิพจน์
เริ่มตั้งแต่ C# 8 และ .NET Core 3.0 ถ้าผลลัพธ์ของนิพจน์ stackalloc มีชนิดข้อมูลเป็นแบบ System.Span หรือ System.ReadOnlySpan เราสามารถใส่นิพจน์ stackalloc ซ้อนไว้ภายในนิพจน์อื่น ๆ ได้