
Ask HN: How do you get better at using LINQ? - jamesmp98
I&#x27;m trying to get into C# and I cannot get LINQ. I always end up using a loop or something else that could easily be represented as a LINQ query. How do I recognise when I can use LINQ?
======
btschaegg
I've never really struggled with the concept, so I can't point you to
resources that "clicked" for me. However, since LINQ basically just implements
basic functional collection handling mechanisms, a look at how other
programming enviroments deal with the idea might be helpful. To name a few
things based on the same principles:

\- Lisp's map, filter, reduce functions and derivates of them

-jQuery

\- C++'s std algorithm

\- Python Generators (in compination with Lisp-style functions)

-SQL's SELECT statements

Maybe, seeing them used could give you better ideas on how to use LINQ.

In terms of the necessary mindset, I would try to shift the focus from "What
can I do with LINQ" to "what can't I do".

LINQ is immensely powerful and generally seems to decouple collection handling
code, so I'd generally write everything I can with LINQ statements and just
factor the steps out that are not feasible or get too complicated.

If you struggle with starting such a statement, try to describe, what you want
to do - in steps performed on your collection(s) of input data:

"First, remove duplicates" -> Distinct()

"Then, only consider property X for each object in the collection" -> Select()

...and so on.

------
hector_ka
I had multiple Excel spreadsheets that to be pasted and sorted in a csv file
>Initially I used queries in sqlite, but it would have taken way lower time to
develop in linq.

