+ 2

How to handle empty search results in linq

I like to query an list using linq. It is possible that there are no valid results to the query. At this moment I get an nullrefenceexception, which I do not want. What is the best way to solve this ? https://code.sololearn.com/ctNG0MKEZ0TK/?ref=app

10th Feb 2022, 4:01 PM
sneeze
sneeze - avatar
3 Answers
+ 1
It does not return null. lambda expression returns an Enumerator. You can use Count there as if(animals.Where(a => a.StartsWith("a")).Count() != 0 ) { Console.WriteLine("animal with a"); } else { Console.WriteLine("No animal with a"); } if Count not equal to 0, then you can use a loop inside if.
10th Feb 2022, 5:02 PM
Jayakrishna 🇼🇳
+ 1
Your Lamda expression does not return null. You can try this way : foreach(var a in animals) if(a.StartsWith("a")) Console.WriteLine("animal with a"); else Console.WriteLine("No animal with a"); else : var result = (from a in animals where a.StartsWith("a") select a).ToList(); foreach(var i in result) Console.WriteLine(i + " animal with a");
10th Feb 2022, 4:21 PM
Jayakrishna 🇼🇳
+ 1
I understand I can do it that way. But this is just example code. I like to use linq and a if statement to determine whether there are any results or no results.
10th Feb 2022, 4:42 PM
sneeze
sneeze - avatar