using System.Collections.Generic;
public int Number {get;set;}
public string Suite {get;set;}
public static void Main()
var deckOfHearts = new List<Card>();
var deckOfSpades = new List<Card>();
var deckOfClubs = new List<Card>();
var deckOfDiamonds = new List<Card>();
var deckOfCards = new List<List<Card>>();
var deckOfCardsShuffled = new List<Card>();
for(var i = 1; i <= 13; i++)
deckOfHearts.Add(new Card { Number = i, Suite = "Hearts" });
deckOfSpades.Add(new Card { Number = i, Suite = "Spades" });
deckOfClubs.Add(new Card { Number = i, Suite = "Clubs" });
deckOfDiamonds.Add(new Card { Number = i, Suite = "Diamonds" });
deckOfCards.Add(deckOfHearts);
deckOfCards.Add(deckOfSpades);
deckOfCards.Add(deckOfClubs);
deckOfCards.Add(deckOfDiamonds);
var random = new Random();
foreach(var suite in deckOfCards)
foreach(var card in suite.OrderBy(card => random.Next()))
deckOfCardsShuffled.Add(new Card { Number = card.Number, Suite = card.Suite });
foreach(var card in deckOfCardsShuffled.OrderBy(card => random.Next()))
sum = sum += card.Number;
Console.WriteLine(string.Format("{0} of {1}. Sum: {2}", card.Number, card.Suite, sum));