Diagonal difference using Linq
This doesn't look very linq-ish and clean yet. You mixed the algorithm with console output. Everything inside a single method. That needs separation.

Start by creating two extension methods giving you the numbers for the calculations:

public static IEnumerable&lt;T&gt; PrimaryDiagonal&lt;T&gt;(this IEnumerable&lt;T[]&gt; values)
{
    return values.Select((x, i) =&gt; x[i]);
}

public static IEnumerable&lt;T&gt; SecondaryDiagonal&lt;T&gt;(this IEnumerable&lt;T[]&gt; values)
{
    return values.Reverse().Select((x, i) =&gt; x[i]);
}


Now you can calculate whatever you want:

var nums = new[]
{
    new [] { 11, 2, 4 },
    new [] { 4, 5, 6 },
    new [] { 10, 8, - 12 }
};

var primarySum = nums.PrimaryDiagonal().Sum();
var secondarySum = nums.SecondaryDiagonal().Sum();