LINQ kennenlernen [geschlossen]

189

Überblick

Eines der Dinge, nach denen ich auf dieser Site viel gefragt habe, ist LINQ . Die Fragen, die ich gestellt habe, waren breit und vielfältig und haben oft nicht viel Kontext. Um das Wissen, das ich in Linq erworben habe, zu konsolidieren, stelle ich diese Frage, um sie zu pflegen und mit zusätzlichen Informationen zu aktualisieren, während ich weiter über LINQ lerne.

Ich hoffe auch, dass es sich als nützliche Ressource für andere Leute erweisen wird, die mehr über LINQ erfahren möchten.

Was ist LINQ?

Von MSDN :

Das LINQ-Projekt ist ein Codename für eine Reihe von Erweiterungen für .NET Framework, die sprachintegrierte Abfrage-, Satz- und Transformationsvorgänge umfassen. Es erweitert C # und Visual Basic um die Muttersprachen-Syntax für Abfragen und bietet Klassenbibliotheken, um diese Funktionen zu nutzen.

Dies bedeutet, dass LINQ eine Standardmethode zum Abfragen einer Vielzahl von Datenquellen mithilfe einer gemeinsamen Syntax bietet.

Welche Aromen von LINQ gibt es?

Derzeit gibt es einige verschiedene LINQ-Anbieter, die von Microsoft bereitgestellt werden:

Es gibt einige andere, von denen viele hier aufgelistet sind .

Was sind die Vorteile?

  • Standardisierte Methode zum Abfragen mehrerer Datenquellen
  • Kompilieren Sie die Zeitsicherheit von Abfragen
  • Optimierte Möglichkeit, satzbasierte Operationen in Speicherobjekten auszuführen
  • Möglichkeit zum Debuggen von Abfragen

Was kann ich mit LINQ machen?

Chook bietet eine Möglichkeit, CSV-Dateien auszugeben.
Jeff zeigt, wie Duplikate aus einem Array entfernt werden.
Bob erhält eine eindeutige geordnete Liste aus einem datierbaren
Marxidad zeigt, wie ein Array sortiert wird.
Dana erhält Hilfe beim Implementieren einer Schnellsortierung mit Linq

Wo soll man anfangen?

Eine Zusammenfassung der Links aus GateKillers Frage finden Sie unten :
Scott Guthrie bietet in seinem Blog eine Einführung in Linq.
Ein Überblick über LINQ auf MSDN

ChrisAnnODell schlägt vor, Folgendes zu überprüfen:

Was brauche ich, um LINQ zu verwenden?

Linq ist derzeit in VB.Net 9.0 und C # 3.0 verfügbar. Sie benötigen also Visual Studio 2008 oder höher, um alle Vorteile nutzen zu können. (Sie können Ihren Code jederzeit in den Editor schreiben und mit MSBuild kompilieren.)

Es gibt auch ein Tool namens LinqBridge, mit dem Sie Linq-ähnliche Abfragen in C # 2.0 ausführen können.

Tipps und Tricks mit LINQ

Diese Frage hat einige knifflige Möglichkeiten, LINQ zu verwenden

Lomaxx
quelle
+1 für einen großartigen Beitrag und den Verweis auf ScottGus Blog. Es ist eine großartige Ressource und wo ich anfänglich LINQ gelernt habe.
Evan Plaice
Hooked On LINQ besucht eine japanische Seite. Die Google-Übersetzung spricht über Rimming und andere Butt-Sachen, die nsfw sind. : SI kann es jedoch aus irgendeinem Grund nicht bearbeiten.
Shane

Antworten:

6

Erwähnen Sie LINQ für Entitäten, da ADO.NET Entity Framework ein wichtiges .NET-Modul sein wird.

Andrei Rînea
quelle
4

Holen Sie sich das Buch Linq in Aktion Es ist eine einfache Lektüre für ein Codierungsbuch und zeigt Ihnen wirklich, wie Sie Linq und die neuen Funktionen von .NET 3.5 verwenden, einige der coolen Teile, die sie für die Sprache hinzugefügt haben.

David Basarab
quelle
4

Einige LINQ-Tipps:

  • Wenden Sie Filter vor einem Join an, um die Abfrageleistung zu verbessern
  • Filtern Sie LINQ-Abfragen mithilfe des Objektreferenzvergleichs
  • Wenden Sie Aggregate auf leere Sammlungen in LINQ auf SQL-Abfragen an
  • Verzögern Sie das Laden einer Eigenschaft in LINQ in SQL
  • Verwenden Sie Funktionen mit Tabellenwerten, wenn das eifrige Laden aktiviert ist
  • Fügen Sie Joins in der richtigen Reihenfolge in eine LINQ to Objects-Abfrage ein
  • Verfassen Sie eine LINQ-Abfrage in einer Schleife

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

Konstantin Tarkus
quelle
4

Meiner Meinung nach ist ein übersehener, aber wichtiger Vorteil die Codierungseffizienz von LINQ, z. B. wie viel mit so wenig Code erreicht werden kann. Ich persönlich finde die Abfragesyntax leicht zu lesen und zu verstehen.

Matthew Sposato
quelle
3

Ich denke, die Antwort auf "Welche Aromen von LINQ gibt es?" ist unvollständig. Zunächst können Sie Ihren eigenen "Geschmack" kreieren. Ja, es ist eine fortgeschrittene Aufgabe, aber es gibt jetzt viele verschiedene LINQ-Implementierungen.

Hier ist die Liste der vorhandenen LINQ-Anbieter (plus einige weitere Ressourcen zum Erlernen von LINQ) auf Charlie Calverts Blog: Links zu LINQ .

Außerdem gibt es eine hervorragende Reihe von Blog-Posts von Matt Warren zum Erstellen eines eigenen LINQ-Anbieters: LINQ: Erstellen einer IQueryable-Anbieterserie

Alexandra Rusina
quelle
2

Meine 2 Cent, Lesen Sie die Kapitel "11 Abfrageausdrücke und LINQ zu Objekten" und "12 LINQ über Sammlungen hinaus" im Buch "C # in Depth", um zu verstehen, wie LINQ funktioniert.

Refactor
quelle
0

Für die Linq-Praxis

Wenn Sie etwas Übung auf LINQ mit Übungen und Antworten wünschen, die wirklich einfach einzurichten und meiner Meinung nach fantastisch sind:

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

Von git herunterladen und in Visual Studio öffnen. Ihre Aufgabe ist es, die Tests zu bestehen.

[Offenlegung: Ich habe etwas Linq daraus gelernt und ich trage zum Projekt bei, also denke ich, dass es eine großartige, schnelle und effiziente Art zu lernen ist.]

BKSpurgeon
quelle