Lamdas/Linq in c# are very important for many things. Its effectively the equivalent of the streaming api in java. So there are two id say main important interfaces for that IQueryable and IEnumerable. IEnumerable is for local lists. Most things are evaluted lazily when either looping threw the result of lets say .Where(x => x>3) or when calling a terminal expression such as .ToList() that will materialize the actual result. IQueryable inherits from IEnumerable. Its intended for query builders for databses. So you can expect these to not run locally. Thats also one of the reason Id say its important since effectively JPA is replaced by them too.
https://forum.level1techs.com/t/going-from-java-to-c-advice/162868/8?u=kush