Вашу задачу можно сделать тремя способами:
1) создать метод, который будет суммировать каждый элемент списка в переменную, точнее, в поле класса.
long Result;
long Sum(List<int> intList)
{
Result = 0;
intList.ForEach(AddElement);
return Result;
}
void AddElement(int i)
{
Result += i;
}
2) Чтобы не создавать "лишнюю" функцию, необходимую только для конкретной задачи, то можно взять анонимную функцию. Анонимные функции в C# используются с помощью делегатов. Дополнительно, анонимные функции могут использовать замыкания, и нет необходимости создавать внешнее поле.
long Sum(List<int> intList)
{
long result = 0;
intList.ForEach(delegate(int i) { result += i; });
return result;
}
3) Можно взять лямбду - в данном случае, это "синтаксический сахар" - упрощение создания делегата.
long Sum(List<int> intList)
{
long result = 0;
intList.ForEach(i => result += i);
return result;
}