14.07.2018 Почему нельзя так писать?
 
в рамках одной функции
       var Fraction = new { pos = 0, neg = 0, zero = 0 };
       var result = arr.Select(a => a > 0 ? Fraction.pos++ : (a < 0 ? Fraction.neg++ : Fraction.zero++));