
Untitled
By: a guest on
Aug 1st, 2012 | syntax:
None | size: 1.12 KB | hits: 8 | expires: Never
convert a line of python code list comprehension / cross product (create a poker deck as a list of two characters strings: rank, suite) to C#
poker_deck = [r+s for r in '23456789TJQKA' for s in 'SHDC']
char[] figures = "23456789TJQKA".ToCharArray();
char[] suites = "SHDC".ToCharArray();
List<string> deck = new List<string>();
foreach (var figure in figures)
{
foreach (var suite in suites)
{
deck.Add(string.Format("{0}{1}", figure, suite));
}
}
var cards = from r in "23456789TJQKA"
from s in "SHDC"
select "" + r + s;
var cards = from r in "23456789TJQKA" from s in "SHDC" select "" + r + s;
var deck = "23456789TJQKA".SelectMany(
figure => "SHDC".Select(
suite => string.Format("{0}{1}", figure, suite))).ToList();
public static IEnumerable<TOut> Pair<T1, T2, TOut>(this IEnumerable<T1> items1, IEnumerable<T2> items2, Func<T1, T2, TOut> pairer)
{
return items1.SelectMany(item1 => items2.Select(item2 => pairer(item1, item2)));
}
var deck = "23456789TJQKA".Pair("SHDC", (figure, suite) => string.Format("{0}{1}", figure, suite));