У меня есть запрос LINQ следующим, как иметь дело с исключением в LINQ заявление Выберите
m_FOO = rawcollection.Select(p=> p.Split(' ')).Select(p =>
{
int thing = 0;
try
{
thing = CalculationThatCanFail(p[1]);
}
catch{}
return new { Test = p[0], FooThing = thing};
})
.GroupBy(p => p.Test)
.ToDictionary(p => p.Key, s => s.Select(q => q.FooThing).ToList());
Итак, CalculationThatCanFail бросает иногда. Я не хочу вводить null, а затем фильтровать его с помощью другого инструкции Where, а значение нежелательной почты в равной степени неприемлемо. Кто-нибудь знает, как с этим справиться? Благодарю.
EDIT: Есть веская причина для оператора double Select. Этот пример был отредактирован для краткости
да, мне было интересно, если есть в любом случае, чтобы избежать .гда (р => р! = NULL) – Steve
@Steve, О порядке. Я не совсем уверен, но единственное, что я могу придумать в LINQ, - это использовать метод расширения ForEach(), но даже тогда вы в конечном итоге вручную создадите коллекцию/перечисляемую какую-то чем LINQ построить его для вас. Если я могу спросить, каково ваше возражение против предложения 'Where'? – devuxer