Отключить проверку переполнения с помощью Array.Sum

Существует проблема Pex4Fun, которая просит пользователя написать код, который находит сумму массива.

using System;
using System.Linq;

public class Program {
  public static int Puzzle(int[] a) {
    return a.Sum();
  }
}

Pex ожидает, что он сможет передать {-1840512878, -2147418112} и вернуть недостающее число 307036306, однако метод LINQ, Array.Sum (), проверяет переполнение.

Я не могу использовать ключевое слово unchecked при вызове метода a.Sum (), потому что добавление происходит внутри метода.

Есть ли способ отключить проверку переполнения / переполнения с помощью Array.Sum ()?

5
задан Jared 4 January 2012 в 07:18
поделиться