For parameterized tests I've created solution with two projects, one is console application, and second one (where my tests are actually) is class library.

My main, console, application looks like this: 

static void Main(string[] args)
{
	Summation mySum = new Summation();
	Console.WriteLine(mySum.MySummation(10).ToString());
	Console.ReadKey();
}

Where class "Summation" is like:

public class Summation
{
	public int MySummation(int myValue)
	{
		return myValue + myValue;
	}
}

Now, let's say that we want to create unit test for 10, 20 and 30 values. Instead of writing three tests we will use parameterized tests like:

[Test]
[Sequential]
public void Summ_results([Values(10, 20, 30)] int sumResult)
{
	Summation mySum = new Summation();
	Assert.AreEqual(sumResult + sumResult, mySum.MySummation(sumResult));
}

Notice part:

[Values(10, 20, 30)] 

With that line and class attribute [Sequential] we said that our test will be executed three times where each time sumResult will be 10, 20 or 30.

Example project you can download from here.

One dummy example of LINQ:

using System;
using System.Linq;

namespace linqExamples
{
  class Program
  {
    static void Main(string[] args)
    {
      string s = "Test";
      var test = s.Select(d => "b");
      foreach(var b in test)
      {
        Console.WriteLine(b);
      }
      Console.ReadKey();
    }
  }
}