รวบรวม Code ต่างๆนานา ที่เคยพบเจอมาจากประสบการณ์

UNDERGROUND PROGRAMMER PRESENT

วันพุธที่ 20 กันยายน พ.ศ. 2560

LINQ #1 Array

LINQ อ่่านว่า ลิ้ง นะไม่ใช่ ลินคิว มันคืออะไร? ใช่ทำอะไรได้บ้าง? เราจะมาทำความรู้จัดกับเจ้าตัวนี้กัน😀
LINQ ชื่อเต็มก็คือ Language Integrated Query เป็นภาษาที่ทางไมโครซอฟท์สร้างขึ้นมาเพื่อใช้ในการสอบถามข้อมูล นั่นเอง ซึ่งโดยปกติส่วนใหญ่การสอบถามข้อมูลนั้น ก็คงจะใช้ภาษา SQL ในการสอบถามข้อมูลที่เก็บอยู่ในรูปแบบตารางข้อมูลนั่นเอง
แต่ในปัจจุบันนั้น ข้อมูลไม่ได้ถูกจัดเก็บในรูปแบบของตารางเสมอไป มีทั้งรูปแบบ XML หรือ ในแอพพลิเคชั่น อื่นๆ รวมไปถึงแหล่งจัดเก็บที่เราทำการสร้างขึ้นมาใช้งาน ก็เพราะด้วยเหตุผลนี้เองทำให้ ภาษา SQL จึงใช่งานในส่วนนี้ไม่ได้

LINQ ก็มีรูปแบบการใช้งานแบ่งเป็นประเภท คือ
  • LINQ to Object
  • LINQ to SQL
  • LINQ to XML
  • LINQ to Entities
เดี๋ยวจะค่อยๆ อธิบายทีละอย่างในบทความถัดๆ ไปละกัน 😝 สำหรับบทความนี้จะพูดถึง LINQ to Object ในส่วนของ Object Array (อาร์เรย์) ละกันนะ เพราะมีการใช้งานที่บ่อยกว่าตัวอื่นๆ
เวลาจะใช้งานก็เรียกใช้งาน Namespace ตัวนี้ก่อนนะ Import System.Ling
1.การแสดงค่าข้อมูลจาก Array

*ข้อสังเกต
จะเห็นได้ว่าจะไม่มีการกำหนดค่าชนิด (Type) ให้กับตัวแปร _Display ซึ่งในส่วนนี้ ค่าของตัวแปร _Display นั่นจะเป็นการรับค่ามาจากตัวแปร st ดังนั่นจึงส่งผลให้ตัวแปร _Display มีชนิดเป็น String ไปด้วย การประกาศตัวแปรแบบนี้จะเรียกว่าชนิดข้อมูล อินเตอร์เฟส IEnummerable แบบ Generic
2.การเปรียบเทียบข้อมูล
    2.1 แสดงข้อมูลที่เหมือนกันออกมา ซึ่งเราจะใช้ method Contains() เข้ามาจัดการ
    2.2 แสดงข้อมูลที่อยู่ใน StringArray01 แต่ไม่อยู่ใน StringArray02 ซึ่งเราจะใช้ method Except() เข้ามาจัดการ
3.รวม Method
ในหัวข้อนี้จะเป็นการรวม Method ที่ใช้งานบ่อยๆ หรือเรียกว่า Extension Method เกี่ยวกับการดำเนินการกับ Array ซึ่งจะประกอบไปด้วย

  • เมธอด First()                                //แสดงสมาชิกตัวแรกในอาร์เรย์
  • เมธอด Last()                                //แสดงสมาชิกตัวสุดท้ายในอาร์เรย์
  • เมธอด ElementAt()                     //แสดงสมาชิกโดยอ้างอิงจากลำดับ (ElementAt(5))
  • เมธอด Min()                               //แสดงค่าต่ำสุด
  • เมธอด Max()                              //แสดงค่าสูงสุด
  • เมธอด EndsWith("")                  //แสดงค่าข้อมูลที่ลงท้ายด้วยข้อความที่กำหนด
  • เมธอด Take()                             //กำหนดจำนวนข้อมูลที่ต้องการแสดง
  • เมธอด Skip()                             //กำหนดจำนวนข้อมูลที่ต้องการข้าม
  • เมธอด Reverse()                       //เรียงลำดับสลับตำแหน่งของข้อมูล
  • เมธอด Count()                          //นับจำนวนข้อมูล
  • เมธอด Distinct().Count()         //นับจำนวนข้อมูลโดยตัดข้อมูลที่ซ้ำกันออกไป
  • เมธอด Sum()                            //หาผลรวมของข้อมูลที่เป็นขนิดตัวเลข
  • เมธอด Average()                      //หาค่าเฉลี่ยของข้อมูล
  • เมธอด OfType()                       //เอาไว้แยกประเภทของข้อมูล (obj.OfType(Of String)())
  • เมธอด Cast()                            //แปลงข้อมูลให้เป็น Type ตามต้องการ
  • เมธอด ToList()                         //แปลงข้อมูลให้อยู่ในฐานะ list
  • เมธอด ToArray()                      //แปลงข้อมูลให้อยู่ในสภาพอาร์เรย์
  • เมธอด DefaultEmpty()             //กำหนดค่าในกรณีที่ดึงข้อมูลออกมาแล้วไม่พบ
  • เมธอด Repeat()                        //สร้างข้อมูลตามจำนวนที่กำหนด เช่น 
          dim a = Enumerable.Repeat("WASAN",5) ก็จะได้ผลลัพธ์ เป็นข้อความ "WASAN" จำนวน 5 ข้อความด้วยกัน
  • เมธอด Range()                         //สร้างข้อมูลตัวเลขตามขอบเขตที่กำหนด เช่น
         dim s = Enumerable.Range(1,5) เราก็จะได้ชุดตัวเลขตั้งแต่ 1-5 ออกมา


*** จากข้างต้นจะเป็นการใช้งาน linq กับ Object Array ซึ่งสามารถนำไปประยุกต์ใช้งานในโปรแกรมหรือส่วนต่างๆ ได้ ในบทความต่อไปจะเกี่ยวกับ DataTable ละกัน 😛😛




ไม่มีความคิดเห็น:

แสดงความคิดเห็น