คำถามติดแท็ก linq

Language Integrated Query (LINQ) เป็นส่วนประกอบ Microsoft .NET Framework ที่เพิ่มความสามารถในการสอบถามข้อมูลดั้งเดิมในภาษา. NET โปรดพิจารณาใช้แท็กที่มีรายละเอียดเพิ่มเติมตามความเหมาะสมเช่น [linq-to-sql], [linq-to-entity] / [entity-framework] หรือ [plinq]

8
LINQ: ไม่ vs ไม่ได้ทั้งหมด
บ่อยครั้งที่ฉันต้องการตรวจสอบว่าค่าที่มีให้ตรงกับหนึ่งในรายการ (เช่นเมื่อตรวจสอบ): if (!acceptedValues.Any(v => v == someValue)) { // exception logic } เมื่อเร็ว ๆ นี้ฉันสังเกตเห็น ReSharper ขอให้ฉันทำแบบสอบถามเหล่านี้ให้ง่ายขึ้น: if (acceptedValues.All(v => v != someValue)) { // exception logic } เห็นได้ชัดว่ามันเหมือนกันในเชิงตรรกะบางทีอาจจะอ่านได้มากกว่าเล็กน้อย (ถ้าคุณทำคณิตศาสตร์มามาก) คำถามของฉันคือ: สิ่งนี้ส่งผลให้เกิดผลงานหรือไม่? มันให้ความรู้สึกเหมือนว่ามันควรจะ (เช่น.Any()ฟังดูเหมือนมันจะลัดวงจรในขณะที่.All()ดูเหมือนว่ามันจะไม่ได้) แต่ฉันไม่มีอะไรจะพิสูจน์เรื่องนี้ ไม่มีใครมีความรู้ในเชิงลึกเกี่ยวกับคำถามที่ว่าจะแก้ไขเหมือนเดิมหรือไม่หรือ ReSharper ทำให้ฉันหลงทาง?
272 c#  .net  performance  linq  resharper 

23
ฉันจะต่อสองอาร์เรย์ใน C # ได้อย่างไร
int[] x = new int [] { 1, 2, 3}; int[] y = new int [] { 4, 5 }; int[] z = // your answer here... Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 })); ตอนนี้ฉันใช้ int[] z = x.Concat(y).ToArray(); มีวิธีที่ง่ายกว่าหรือมีประสิทธิภาพมากกว่านี้หรือไม่?
267 c#  arrays  .net  linq 

4
ใช้ IQueryable กับ Linq
การใช้งานIQueryableในบริบทของ LINQ คืออะไร? มันใช้สำหรับการพัฒนาวิธีการขยายหรือวัตถุประสงค์อื่น ๆ ?
256 c#  linq  iqueryable 

13
การแสดงออกอย่างคล่องแคล่วและการสืบค้น - มีประโยชน์อย่างใดอย่างหนึ่งต่อกันหรือไม่?
LINQ เป็นหนึ่งในการปรับปรุงที่ยิ่งใหญ่ที่สุดสำหรับ. NET ตั้งแต่ generics และช่วยให้ฉันตันของเวลาและบรรทัดของรหัส อย่างไรก็ตามไวยากรณ์ที่คล่องแคล่วดูเหมือนจะเป็นธรรมชาติสำหรับฉันมากกว่าไวยากรณ์ของนิพจน์แบบสอบถาม var title = entries.Where(e => e.Approved) .OrderBy(e => e.Rating).Select(e => e.Title) .FirstOrDefault(); var query = (from e in entries where e.Approved orderby e.Rating select e.Title).FirstOrDefault(); มีความแตกต่างระหว่างสองคนนี้หรือไม่และมีประโยชน์อย่างใดอย่างหนึ่งของอีกคนหนึ่ง?
255 c#  linq 


7
การรวมสองนิพจน์ (นิพจน์ <Func <T, bool >>)
ฉันมีนิพจน์สองประเภทExpression&lt;Func&lt;T, bool&gt;&gt;และฉันต้องการนำไปใช้กับ OR และหรือไม่ใช่สิ่งเหล่านี้และรับนิพจน์ใหม่ประเภทเดียวกัน Expression&lt;Func&lt;T, bool&gt;&gt; expr1; Expression&lt;Func&lt;T, bool&gt;&gt; expr2; ... //how to do this (the code below will obviously not work) Expression&lt;Func&lt;T, bool&gt;&gt; andExpression = expr AND expr2
249 c#  linq  lambda  expression 

12
วิธีการรวมใน LINQ บนหลาย ๆ ฟิลด์ในการเข้าร่วมครั้งเดียว
ฉันต้องทำแบบสอบถาม LINQ2DataSet ที่เข้าร่วมในมากกว่าหนึ่งฟิลด์ (เช่น var result = from x in entity join y in entity2 on x.field1 = y.field1 and x.field2 = y.field2 ฉันยังพบวิธีแก้ปัญหาที่เหมาะสม (ฉันสามารถเพิ่มข้อ จำกัด พิเศษให้กับส่วนคำสั่งได้ แต่นี่อยู่ไกลจากโซลูชันที่เหมาะสมหรือใช้โซลูชันนี้แต่ถือว่าเป็น equijoin) เป็นไปได้ใน LINQ ที่จะเข้าร่วมในหลายสาขาในการเข้าร่วมเดียว? แก้ไข var result = from x in entity join y in entity2 on new { x.field1, x.field2 } …
244 c#  linq  join 

6
แบบสอบถาม LINQ เพื่อเลือกห้าอันดับแรก
ฉันมีคำสั่ง LINQ: var list = from t in ctn.Items where t.DeliverySelection == true &amp;&amp; t.Delivery.SentForDelivery == null orderby t.Delivery.SubmissionDate select t; ฉันจะแก้ไขเคียวรีนี้เพื่อเลือกผลลัพธ์ห้ารายการจากฐานข้อมูลได้อย่างไร
234 c#  linq 


9
การค้นหาว่ามีค่าอยู่ในรายการของวัตถุโดยใช้ Linq
บอกว่าผมได้เรียนซึ่งมีคุณสมบัติCustomer จากนั้นฉันมีFirstNameList&lt;Customer&gt; สามารถใช้ LINQ เพื่อค้นหาว่ารายชื่อมีลูกค้าด้วยFirstname = 'John'คำสั่งเดียว .. ได้อย่างไร?
228 c#  linq 

13
ค้นหารายการในรายการโดย LINQ?
ที่นี่ฉันมีตัวอย่างง่ายๆในการค้นหารายการในรายการสตริง โดยปกติฉันจะใช้สำหรับการวนซ้ำหรือการมอบสิทธิ์แบบไม่ระบุชื่อเพื่อทำสิ่งนี้: int GetItemIndex(string search) { int found = -1; if ( _list != null ) { foreach (string item in _list) // _list is an instance of List&lt;string&gt; { found++; if ( string.Equals(search, item) ) { break; } } /* use anonymous delegate string foundItem = _list.Find( delegate(string item) …
226 c#  linq 

3
LINQ กับ groupby และนับ
นี่เป็นเรื่องง่าย แต่ฉันกำลังแพ้: ให้ชุดข้อมูลประเภทนี้: UserInfo(name, metric, day, other_metric) และชุดข้อมูลตัวอย่างนี้: joe 1 01/01/2011 5 jane 0 01/02/2011 9 john 2 01/03/2011 0 jim 3 01/04/2011 1 jean 1 01/05/2011 3 jill 2 01/06/2011 5 jeb 0 01/07/2011 3 jenn 0 01/08/2011 7 ฉันต้องการดึงข้อมูลตารางที่แสดงรายการตัวชี้วัดตามลำดับ (0,1,2,3 .. ) โดยมีจำนวนครั้งทั้งหมดที่การนับเกิดขึ้น ดังนั้นจากชุดนี้คุณจะได้: 0 3 1 2 …
222 c#  linq  group-by 

2
ข้อความค้นหา LINQ เพื่อส่งคืนพจนานุกรม <string, string>
ฉันมีคอลเล็กชันของ MyClass ที่ฉันต้องการสืบค้นโดยใช้ LINQ เพื่อรับค่าที่แตกต่างและกลับมาเป็นพจนานุกรม &lt;string, string&gt; เป็นผลลัพธ์ แต่ฉันไม่สามารถหาวิธีที่ฉันสามารถทำได้ง่ายกว่าฉัน ฉันกำลังทำอยู่ด้านล่าง รหัสทำความสะอาดอะไรที่ฉันสามารถใช้เพื่อรับพจนานุกรม &lt;string, string&gt; เป็นผลลัพธ์ของฉัน var desiredResults = new Dictionary&lt;string, string&gt;(StringComparer.OrdinalIgnoreCase); var queryResults = (from MyClass mc in myClassCollection orderby bp.SomePropToSortOn select new KeyValuePair&lt;string, string&gt;(mc.KeyProp, mc.ValueProp)).Distinct(); foreach (var item in queryResults) { desiredResults.Add(item.Key.ToString(), item.Value.ToString()); }
218 c#  .net  linq  dictionary 

11
LINQ: เลือกวัตถุและเปลี่ยนคุณสมบัติบางอย่างโดยไม่ต้องสร้างวัตถุใหม่
ฉันต้องการเปลี่ยนคุณสมบัติบางอย่างของวัตถุผลลัพธ์การสืบค้น LINQ โดยไม่ต้องสร้างวัตถุใหม่และตั้งค่าคุณสมบัติทั้งหมดด้วยตนเอง เป็นไปได้ไหม ตัวอย่าง: var list = from something in someList select x // but change one property
218 c#  linq 

11
LINQ Single vs First
LINQ: จะมีประสิทธิภาพมากกว่าหรือไม่หากใช้ตัวSingle()ดำเนินการมากกว่าFirst()เมื่อรู้แน่ ๆ ว่าแบบสอบถามจะส่งคืนเรกคอร์ดเดียวหรือไม่ มีความแตกต่างหรือไม่?
215 .net  linq 

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