เรียนรู้เกี่ยวกับ LINQ [ปิด]


189

ภาพรวม

หนึ่งในสิ่งที่ผมเคยถามมากเกี่ยวกับบนเว็บไซต์นี้เป็นLINQ คำถามที่ฉันถามมีความหลากหลายและหลากหลายและมักจะไม่ค่อยมีบริบทด้านหลัง ดังนั้นในความพยายามที่จะรวบรวมความรู้ที่ฉันได้รับใน Linq ฉันโพสต์คำถามนี้เพื่อดูการบำรุงรักษาและการปรับปรุงด้วยข้อมูลเพิ่มเติมเมื่อฉันเรียนรู้เกี่ยวกับ LINQ ต่อไป

ฉันหวังว่ามันจะเป็นแหล่งข้อมูลที่มีประโยชน์สำหรับคนอื่น ๆ ที่ต้องการเรียนรู้เกี่ยวกับ LINQ

LINQ คืออะไร

จากMSDN :

โครงการ LINQ เป็นชื่อรหัสสำหรับชุดของส่วนขยายไปยัง. NET Framework ที่รวมการสืบค้นตั้งและแปลงภาษา มันขยาย C # และ Visual Basic ด้วยไวยากรณ์ภาษาท้องถิ่นสำหรับการสืบค้นและจัดให้มีห้องสมุดชั้นเรียนเพื่อใช้ประโยชน์จากความสามารถเหล่านี้

สิ่งนี้หมายความว่า LINQ ให้วิธีมาตรฐานในการสืบค้นแหล่งข้อมูลที่หลากหลายโดยใช้ไวยากรณ์ทั่วไป

LINQ มีรสชาติอะไรบ้าง?

ขณะนี้มีผู้ให้บริการ LINQ ที่แตกต่างกันเล็กน้อยจาก Microsoft:

มีค่อนข้างบางคนอื่น ๆ หลายแห่งซึ่งมีการระบุไว้เป็นที่นี่

ประโยชน์คืออะไร

  • วิธีมาตรฐานในการสืบค้นหลายแหล่งข้อมูล
  • รวบรวมความปลอดภัยของการค้นหาเวลา
  • วิธีที่เหมาะสมที่สุดเพื่อดำเนินการตามการตั้งค่าบนในวัตถุหน่วยความจำ
  • ความสามารถในการดีบักเคียวรี

ดังนั้นฉันจะทำอย่างไรกับ LINQ

Chookมีวิธีการส่งออกไฟล์ CSV ที่
Jeffแสดงวิธีการลบรายการที่ซ้ำออกจากอาร์เรย์
Bob ได้รับรายการสั่งซื้อที่แตกต่างจาก
Marxidadที่สามารถจัดเรียงข้อมูล
ได้แสดงวิธีการเรียงลำดับอาร์เรย์ Dana ได้รับความช่วยเหลือในการนำQuick Sort Use Linq

จะเริ่มที่ไหนดี

บทสรุปของลิงก์จาก คำถามของ GateKillerอยู่ด้านล่าง :
Scott Guthrie ให้คำแนะนำแก่ Linq ในบล็อกของเขา
ภาพรวมของ LINQ บน MSDN

ChrisAnnODellแนะนำให้ตรวจสอบจาก:

ฉันต้องใช้อะไรบ้างกับ LINQ

Linq มีให้บริการใน VB.Net 9.0 และ C # 3.0 ดังนั้นคุณจะต้องใช้ Visual Studio 2008 ขึ้นไปเพื่อรับสิทธิประโยชน์อย่างเต็มที่ (คุณสามารถเขียนโค้ดของคุณใน notepad และคอมไพล์ได้ตลอดเวลาโดยใช้ MSBuild)

นอกจากนี้ยังมีเครื่องมือที่เรียกว่า LinqBridgeซึ่งจะช่วยให้คุณเรียกใช้ Linq เช่นข้อความค้นหาใน C # 2.0

เคล็ดลับและลูกเล่นโดยใช้ LINQ

คำถามนี้มีวิธีที่ยุ่งยากในการใช้ LINQ


+1 สำหรับโพสต์ที่ยอดเยี่ยมและการอ้างอิงถึงบล็อกของ ScottGu มันเป็นแหล่งข้อมูลที่ดีและในตอนแรกที่ฉันเรียนรู้ LINQ
Evan Plaice

ติดยาเสพติดบน LINQ ไปที่เว็บไซต์ญี่ปุ่นบางแห่ง Google Translate พูดถึง rimming และสิ่งก้นอื่น ๆ นั่นคือ nsfw : SI ไม่สามารถแก้ไขได้ด้วยเหตุผลบางอย่าง
เชน

คำตอบ:


12

ทำไม Delicious.com นี้จึงเปลี่ยนเส้นทางไปยังชื่อส่วนขยายที่เรียกว่า Dmail ในร้าน Chrome oO คุณหมายถึงdel.icio.usแทนใช่ไหม
Soner Gönül


4

รับหนังสือLinq ในการดำเนินการมันเป็นเรื่องง่ายสำหรับการอ่านหนังสือการเข้ารหัสและสอนวิธีการใช้ Linq และคุณสมบัติใหม่ของ. NET 3.5 บางส่วนที่น่าสนใจสำหรับภาษา


4

เคล็ดลับ LINQ ไม่กี่:

  • ใช้ตัวกรองก่อนเข้าร่วมเพื่อปรับปรุงประสิทธิภาพการสืบค้น
  • กรองการสืบค้น LINQ โดยใช้การเปรียบเทียบการอ้างอิงวัตถุ
  • ใช้มวลรวมกับคอลเลกชันที่ว่างเปล่าใน LINQ กับแบบสอบถาม SQL
  • การโหลดคุณสมบัติใน LINQ ไปยัง SQL ล่าช้า
  • ใช้ฟังก์ชั่นที่ให้คุณค่ากับตารางโดยเปิดการโหลดอย่างกระตือรือร้น
  • ใส่การรวมในลำดับที่ถูกต้องใน LINQ ไปยังแบบสอบถามวัตถุ
  • เขียนแบบสอบถาม LINQ ภายในวง

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp


4

IMHO ผู้ที่ได้รับประโยชน์ แต่สำคัญก็คือประสิทธิภาพการเขียนโค้ดของ LINQ เช่นจำนวนโค้ดที่ทำได้น้อยมาก ฉันค้นหาไวยากรณ์ของข้อความค้นหาที่เข้าใจง่ายและเข้าใจง่าย



3

ฉันคิดว่าคำตอบของ "LINQ มีรสชาติอะไรบ้าง" ไม่สมบูรณ์ ก่อนอื่นคุณสามารถสร้าง "รสชาติ" ของคุณเอง ใช่มันเป็นงานขั้นสูง แต่ตอนนี้มีการใช้งาน LINQ ที่แตกต่างกันมากมาย

นี่คือรายชื่อของผู้ให้บริการที่มีอยู่ LINQ (บวกบางทรัพยากรมากขึ้นในการเรียนรู้ LINQ) ในบล็อกของชาร์ลีเวิร์ท: การเชื่อมโยงไปยัง LINQ

และยังมีบล็อกโพสต์ยอดเยี่ยมโดย Matt Warren เกี่ยวกับวิธีการสร้างผู้ให้บริการ LINQ ของคุณเอง: LINQ: การสร้างซีรีส์ผู้ให้บริการ IQueryable


2

2 cents ของฉันอ่านบท "11 นิพจน์เคียวรีและ LINQ ไปยังออบเจกต์" และ "12 LINQ นอกเหนือจากคอลเลกชัน" ในหนังสือ "C # in Depth" เพื่อให้เข้าใจว่า LINQ ทำงานอย่างไร


0

สำหรับฝึก Linq

หากคุณต้องการฝึกปฏิบัติกับ LINQ ด้วยแบบฝึกหัดและคำตอบง่าย ๆ ในการตั้งค่าและในความคิดของฉันมันยอดเยี่ยม:

https://github.com/walkhard/linq-exercises

ดาวน์โหลดจากคอมไพล์เปิดใน Visual Studio งานของคุณคือการทำแบบทดสอบ

[การเปิดเผย: ฉันเรียนรู้ linq จากมันและฉันมีส่วนร่วมในโครงการดังนั้นใช่ฉันคิดว่ามันเป็นวิธีที่ยอดเยี่ยมรวดเร็วและมีประสิทธิภาพในการเรียนรู้]

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.