从字典中获取两个随机密钥 [英] Take two random keys from Dictionary

查看:113
本文介绍了从字典中获取两个随机密钥的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好!我正在制作自己的纸牌.我试图使它绘制"两个随机键并匹配"em togheter"并进行if-检查.
使它从字典中抽取随机键的命令是什么?
我应该使用kortlek.Keys命令,但似乎无法正常使用

Hello! I''m making my own deck of cards. I was trying to make it "draw" two random keys and match ''em togheter and do a if- to check them.
What is the command to make it draw a random key from a dictionary?
I''m supposed to use a kortlek.Keys command, but i dont seem to get it to work

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, int> kortlek = new Dictionary<string, int>();
            for (int i = 2; i <= 10; i++)
            {
                kortlek.Add("klöver" + i, i);
                kortlek.Add("spader" + i, i);
                kortlek.Add("ruter" + i, i);
                kortlek.Add("hjärter" + i, +i);
            }
            {
                kortlek.Add("spader dam", 12);
                kortlek.Add("spader knekt", 11);
                kortlek.Add("spader ess", 1);
                kortlek.Add("spader kung", 13);
                kortlek.Add("hjärter ess", 1);
                kortlek.Add("hjärter dam", 12);
                kortlek.Add("hjärter knekt", 11);
                kortlek.Add("hjäter kung", 13);
                kortlek.Add("ruter ess", 1);
                kortlek.Add("ruter dam", 12);
                kortlek.Add("ruter knekt", 11);
                kortlek.Add("ruter kung", 13);
                kortlek.Add("klöver kung", 13);
                kortlek.Add("klöver ess", 1);
                kortlek.Add("klöver dam", 12);
                kortlek.Add("klöver knekt", 11);
            }
            Random dealer = new Random();

            int cardone = dealer.Next(0, 53);
            int cardtwo = dealer.Next(0, 53);
            //HERE I''M SUPPOSED TO USE THE VALUES IN CARDONE/CARDTWO TO GRAB A CARD FROM THE DECK AND THEM MATCH ''EM.
            if (cardone == cardtwo)
            {
                Console.WriteLine("It''s a pair!");
            }
            else
            {
                Console.WriteLine("No pair :(");
            }
            
        }
    }
}

推荐答案

你好

1.产生2个随机变数> = 0和<< keys.Count.

如何生成许多随机的各种数字? [ ^ ]

Hello

1. generate 2 random varous numbers>=0 and < keys.Count.

How to generate many random various numbers?[^]

int first, second;
//Follow Link Above...



2.



2.

string key1 = ((kortlek.Keys).ToArray())[first];
string key2 = ((kortlek.Keys).ToArray())[second];


如果不坚持使用Dictionary,您可能希望将其替换为List< keyvaluepair>< string,int>>



例如:

If you do not insist on Dictionary, you may want to replace it with List<keyvaluepair><string,int>>



ex:

List<keyvaluepair><string,int>> kortlek = new List<keyvaluepair><string,int>>(); 
...
kortlek.Add(new KeyValuePair<string,int>("spader dam", 12));



// you can reach it like this 
//kortlek[cardone].Value
</keyvaluepair></keyvaluepair>



希望对您有所帮助



Hope it can help


这篇关于从字典中获取两个随机密钥的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆