Shenochek, уважаемый, ну Вы хоть в гугле бы поискали чуток, прежде чем спрашивать.
К примеру, одна из первых ссылок
http://www.cyberforum.ru/csharp-begi...ead664694.html
делается всё через 1 цикл:
пусть размерность матрицы это matrixLength, матрица в массиве a[,], где первый индекс массива - строка матрицы, второй индекс - столбец,
тогда
int sumMainDiag = 0, sumSlaveDiag = 0;
for (int i=0; i < matrixLength; i++)
{
sumMainDiag = sumMainDiag + a[i,i]; // сумма главной
sumSlaveDiag = sumSlaveDiag + [i, matrixLength - i]; // сумма побочной
}