In most situations, you should be able to filter on the source enumerable before mapping making the whole thing more efficient.
Additionally, that `.Cast<TR>(..)` at the end should have been a dead giveaway that you are going down the wrong path here. You are incurring even more CPU and Memory costs as the `.Cast<TR>(..)` call will now iterate through all the items needlessly.[1]
Also, the design of this this method doesn't seem to make much difference to me anyways:
``` var strs = source.SelectNotNull(it => it); ```
vs
``` var strs = source.Where(it => it != null); ```
A lot of other LINQ extension methods allow you to pass in a predicate expression that will be executed on the source enumerable:
``` var str = source.First(it => it != null); ```
[1] https://source.dot.net/#System.Linq/System/Linq/Cast.cs,152b...
Why ? On a laptop I have a program that will read an 8 billion record text file and matches it against a 1 billion record text file and doing some calculations based upon the data found between the 2 records.
So, slowing it down will prevent my laptop from overheating, it just runs quietly via a cron job.
Can I use an Android phone without using Google? Yes, of course you can. There are plenty of secure OS's like Graphen, Lineage, Calyx and many others. Do people really care enough to use them? Hardly any, which proves my point.
Same thing here. Most people will just pay the fee to get the seats. Some might just opt out and not get them. Others will shop around and find some legacy cars that are older that have them but don't require a subscription.
At the end of the day? There's ALWAYS a choice. How hard do you want to look to avoid the subscription? Is it really worth your time and effort? Some would say yes, the vast majority really DGAF. People have been lulled into not caring about stuff like personal privacy and having a say in what's being peddled to you.