我有以下代码根据类型计算卡的外观:
// counters initialization
var counters = new Dictionary<int, int>();
for (int i = 2; i <= 14; i++)
counters.Add(i, 0);
// loop through and count number of appearances
for (int i = 0; i < playerCards.Length; i++)
counters[playerCards[i]]++;
// Eg output:
// playerCards = { 9, 9, 3, 3, 10 }
// counters = ( (2, 0) , (3, 2) , (4, 0) , (5, 0) , (6, 0) , (7, 0) ,
// (8, 0) , (9, 2) , (10, 1), (11, 0), (12, 0), (13, 0), (14, 0) )
Run Code Online (Sandbox Code Playgroud)
LINQ有解决方案吗?
快点?不会.除非您可以从并行化或延迟评估中受益,否则LINQ很少会使您的代码更快.
通常,主要的好处是您的代码更容易阅读(主观,也许).但在这种情况下,我认为您的代码尽可能清晰.将其转换为LINQ不会使其更快,也不会更具可读性.
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |