The second Project Euler problem was a bit more involved. It reads:

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

I decided to first compile a list of all members of the Fibonacci sequence below four million and then folding all even values in that list into a variable. I had trouble writing a loop that didn't append the first value over 4,000,000 to the list, so I came up with the less than elegant solution of having it evaluate a “nextFib” variable, append said variable to the list, and then recalculate it before beginning the loop again. Putting the calculation after the evaluation and Add() meant that I had to feed it the first value, which I probably wouldn't do if I knew the language better.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CSharpProblem2
{
    class Program
    {
        static void Main(string[] args)
        {
            int result = 0;
            List<int> fibonacci = new List<int>();

            fibonacci.Add(1);
            fibonacci.Add(1);

            int nextFib = 2;

            while (nextFib < 4000000)
            {
                fibonacci.Add(nextFib);
                nextFib = fibonacci[fibonacci.Count - 1] + fibonacci[fibonacci.Count - 2];
            }

            foreach (int seq in fibonacci)
            {
                if (seq % 2 == 0) { result += seq; }
            }

            Console.WriteLine("The sum of all Fibonacci sequence numbers below 4,000,000 is {0}", result);
        }
    }
}