บทความ Web .NET และ Programming
มีอะไรใหม่ใน .NET Core 2 และ C# 7 : การทำงานกับซิปไฟล์ (zip file)
.NET Core version ที่ออกใหม่ก็จะใช้งานกับภาษา C# version ใหม่สุดได้ .NET Core version ปัจจุบันคือversion 2.1 สนับสนุนภาษา C# version 7.1 ส่วนversionต่อไปคือ 3.0 จะสนับสนุนภาษา C# version 8.0 ในหัวข้อนี้เราจะมาดูตัวอย่างการเขียนโค้ด การทำงานกับซิปไฟล์ (zip file) ด้วยภาษา C# ใน.NET Core ว่าเหมือนหรือแตกต่างกับการเขียนภาษา C# ใน .NET Framework หรือไม่อย่างไร
การใช้ Socket Class เพื่อส่งและรับข้อมูลกับ Server HTTP ใน .NET Core 2 และ C# 7
สำหรับบทความนี้จะกล่าวถึงคุณสมบัติที่ถูกปรับปรุงใหม่ของภาษาซีชาร์ป 7.0 และ .NET Core 2.0 ในประเด็นที่เกี่ยวข้องกับการสื่อสารข้อมูลในเครือข่าย
ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ ตอนที่ 14
ในตอนที่แล้วผู้เขียนพูดถึงเรื่องการเจาะจงอินเตอร์เฟส ซึ่งมีไว้เพื่อแก้ปัญหาในกรณีที่คลาสหนึ่งคลาสสืบคุณสมบัติจากอินเตอร์เฟสสองตัว และอินเตอร์เฟสสองตัวนั้นมีเมธอดชื่อเดียวกันและมีซิกเนเจอร์ตรงกัน จะมีผลให้อินเตอร์เฟสทั้งสองเรียกไปยังเมธอดเดียวกัน ในตอนนี้หัวข้อนี้จะพูดถึงการสร้างสมาชิกของอินเตอร์เฟสสองตัวแบบเจาะจงบ้าง
Backward Compatibility (การเข้ากันได้ย้อนหลัง) ของ API
บทความตอนนี้พูดถึง Backward Compatibility ของ API ซึ่งคนโค้ดควรรู้และระมัดระวังเมื่อใช้งาน Framework ที่ออก version ใหม่กับ source code เก่าหรือ binary ที่ Compile ไว้กับ version เก่า หรือเมื่อเขียน library ใช้งานเอง เช่น ปัญหา Reference Types ที่ไม่เกี่ยวข้อง parameter แบบ Reference Types กับแบบที่ค่าเป็น null ไม่ได้ parameter ทางเลือก (Optional parameters) และ ปัญหาเรื่องความเข้ากันได้ย้อนหลังในระดับ source code และ binary เมื่อมีการทำ method overload กับ Type ที่เป็น Generic
ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ ตอนที่ 13
ข้อดีอีกอย่างหนึ่งของภาษาซีชาร์ปคือการมีสิ่งที่เรียกว่า อินเตอร์เฟส (Interface) ซึ่งทำหน้าที่เหมือนเป็นสัญญาหรือข้อตกลงว่าคลาสใด ๆ จะมีพฤติกรรมอย่างไร อินเตอร์เฟสมีประโยชน์หลายอย่าง เช่นช่วยให้ออกแบบเพื่อลดความผูกแน่นระหว่างออพเจกต์ และเพิ่มคุณลักษณะการการเชื่อมกันอย่างหลวม ๆ ซึ่งเป็นคุณสมบัติอันพึงประสงค์เพราะจะช่วยให้ออพเจ็กต์มีความยืดหยุ่นมากขึ้น
มีอะไรใหม่ใน .NET Core 2 และ C# 7 : Expression-Bodied Members (EBM)
สมาชิกแบบนิพจน์ฝังตัว (Expression-Bodied Members ย่อ EBM) ที่เริ่มใน C# 6.0 มาตอนนี้ใน C# 7.0 ได้ถูกเพิ่มเติมให้สนับสนุนสมาชิกแบบต่าง ๆ ได้มากขึ้นกว่าเดิม EBM เป็นคุณสมบัติที่ช่วยให้เราสามารถเขียนนิยามสมาชิกของclass ได้อย่างกระชับและอ่านเข้าใจได้ง่าย ใน C# 6.0 เราสามารถใช้ EBM ร่วมกับสมาชิกของ class 2 แบบ คือ method และ Property แบบอ่านได้อย่างเดียว ใน C# 7.0 เราสามารถใช้ EBM ได้กับสมาชิกของ class เพิ่มอีก 4 แบบได้แก่ Property constructor Finalizer และ Indexer
ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ ตอนที่ 12
ในตอนที่ผ่านมาได้พูดถึงข้อดีของภาษาซีชาร์ปที่มีคุณสมบัติ Expression Trees หรือ “ต้นไม้นิพจน์” ซึ่งเป็นข้อดีในภาษาซีชาร์ปที่ไม่พบในภาษาอื่น ๆ หลายภาษาอย่างเช่นภาษาซี หรือในภาษาจาวาสคริปต์ที่มีต้นไม้นิพจน์แบบย่นย่อ ไม่ใช่ต้นไม้นิพจน์เต็มรูปแบบอย่างที่เรากำลังพูดถึงอยู่ในขณะนี้
ข้อดีของภาษา C# เมื่อเทียบกับภาษาอื่น ๆ ตอนที่ 11
ข้อดีของภาษาซีชาร์ปคือมีคุณสมบัติดี ๆ ที่มีอยู่ในภาษาที่ได้รับความนิยมมากอย่างจาวาและไพธอน หนึ่งในคุณสมบัติเหล่านั้นคือ “ฟังก์ชันแบบอะนอนีมัส” (Anonymous Functions) ซึ่งเป็นบรรทัดคำสั่งหรือนิพจน์สั้น ๆ ที่ฝังตัวอยู่ในบรรทัดคำสั่งซึ่งสามารถใช้เมื่อใดก็ตามที่จำเป็นต้องใช้เดลลีเกต เราอาจใช้ฟังก์ชันแบบอะนอนีมัสเพื่อพร้างออพเจ็กต์เดลลีเกตแบบมีชื่อ หรือจะใช้เพื่อส่งออพเจ็กต์เดลลีเกตแบบมีชื่อไปเป็นพารามิเตอร์ของเมธอดก็ได้
มีอะไรใหม่ใน .NET Core 2 และ C# 7 : คุณสมบัติ ref return ,ref local กับ Local Function
คุณสมบัติ ref return เริ่มตั้งแต่C# 7.0 จากนั้นพอมาถึงC# 7.3 ก็เพิ่มคุณสมบัติ ref local เพื่อให้ใช้งานคู่กัน ทำให้เขียนโค้ดฝั่งmethodและฝั่งตัวรับได้สะดวกยิ่งขึ้นไปอีก ปรกตินักเขียนโค้ดอย่างเราจะใช้ตัวกระทำ ref (ความจริงเป็นmodifierแต่เพื่อให้กระชับต่อไปนี้จะเรียกว่าเป็น “คำสั่ง” ) เมื่อต้องการส่ง “ค่าอ้างอิง” ไปเป็นพารามิเตอร์ (คือการส่งค่าไปยังmethodโดยส่งค่าอ้างอิงไป ไม่ได้ส่งค่าของตัวแปรไป) หรือที่เรียกว่า “การผ่านตัวอ้างอิง” (pass by reference) นี่เป็นคุณสมบัติที่มีในC#ตั้งแต่versionแรก แต่มาตอนนี้เราสามารถใช้คำสั่ง ref ในลักษณะอื่น ๆ ได้ด้วย ในตอนที่ผ่านมาผู้เขียนได้พูดถึงการการใช้ ref return ไปแล้วบางส่วน ในบทความตอนนี้จะอธิบายรายละเอียดของ ref return ที่เหลือ และจะต่อด้วยเรื่องคุณสมบัติ ref local ด้วย
มีอะไรใหม่ใน .NET Core 2 และ C# 7 : ตัวกระทำ is กับ คุณสมบัติใหม่ในคำสั่ง switch และ Ref local
เริ่มในภาษาC# เวอร์ชั่น 7.0 ขึ้นไปตัวกระทำ is มีความสามารถเพิ่มจากเดิมเพื่อใช้ในงานตรวจสอบรูปแบบที่ซับซ้อนได้ดีขึ้นกว่าเดิม ตัวกระทำ is ใช้หาชนิดของtypeเพื่อตรวจสอบความเข้ากันได้ขณะrunโปรแกรม มันทำหน้าที่ตรวจว่า objectหรือผลลัพธ์จากนิพจน์สามารถแปลงไปเป็นชนิดข้อมูลที่กำหนดได้หรือไม่ มีsyntaxอย่างที่เห็นในรูปที่ 1 บรรทัด 3