KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'd like a general solution but as an example, assume i have an IEnumerable<string> , where some can be parsed as integers, and some cannot. var strings = new string[] { "1", "2", "notint", "3" }; Obviously if i did Select(s => int.Parse(s, temp)) it'd throw an exception when enumerated. In this case i could do .All(s => int.TryParse(s, out temp)) first, however i want a general solution where i don't have to enumerate the IEnumerable twice. Ideally i'd like to be able to do the following, which calls my magic exception skipping method: // e.g. parsing strings var strings = new string[] { "1", "2", "notint", "3" }; var numbers = strings.Select(s => int.Parse(s)).SkipExceptions(); // e.g. encountering null object var objects = new object[] { new object(), new object(), null, new object() } var objecttostrings = objects.Select(o => o.ToString()).SkipExceptions(); // e.g. calling a method that could throw var myClassInstances = new MyClass[] { new MyClass(), new MyClass(CauseMethodToThrow:true) }; var myClassResultOfMethod = myClassInstances.Select(mci => mci.MethodThatCouldThrow()).SkipExceptions(); How can i write the SkipExceptions() extension method? Some great answers for a SelectSkipExceptions() method, however i wonder if a SkipExceptions() method could be created, along the same lines as AsParallel() .
Tags (comma-separated)
Save Edits
Cancel