【问题标题】:How to pick random values from dictionary and assign it to the list如何从字典中选择随机值并将其分配给列表
【发布时间】:2014-01-30 15:01:58
【问题描述】:

我有 2 个字典(由从 xml 电子表格导入的数据填充,几乎没有嵌套的 foreach 循环) 示例 Excel-xml 如下所示:

Dictionary<string, string> sheet3 = new Dictionary<string, string>();
Dictionary<string, List <KeyValuePair<string,string>>> sheet4 = new Dictionary
                                  <string, List<KeyValuePair<string,string>>>();

每个都包含:

sheet3.Add(situation, succession)
sheet4.Add(srcSituation, new List<KeyValuePair<string,string>>());
sheet4[srcSituation].Add(new KeyValuePair<string, string>(dstSituation, command));

在 Sheet4 中,我可以看到某种“顺序”。 Sheet3 显示情况以及这种情况的感觉,看起来像。在Sheet4中我有命令,你可以看到,第一个是训练,然后它进入饥饿状态,然后饥饿进入疲倦,然后,疲倦进入觉醒。每个 dstSituation 都需要在 srcSituation 和 dstSituation 之间执行“命令”才能使其发生。

我想从“sheet4”中随机选择“dstSituation”并将“command”写入一个txt文件。然后寻找 "situation" == "dstSituation" 并将 "succession" 字符串添加到同一个 txt 文件中。接下来我将重新开始整个事情,但假设可以选择 dstSituation”是“srcSituation”仅 == 之前选择的“dstSituation”的地方。等等等等..

这个目的也就是说,一旦我获得更多“情况”,Sheet4 中就会有更多的 srcSituation->dstSituation 和 ofc,会有更多相同的 srcSituation 进入不同的 dstSituation。

把它想象成一张没有 1 条路线的地图实现某些目标,但可以有随机路线。我不知道如何编写它,因为它主要是在字典和列表上运行的循环,我不知道如何构造正确的语法。

【问题讨论】:

  • 只生成随机int,然后使用Dictionary.ElementAt(int);

标签: list file-io dictionary random


【解决方案1】:

试试这个代码 sn-p。

......Codes before

Random rnd = new Random();
int randomValue = rnd.Next(0, sheet3.Count-1);
var result = sheet3.ElementAt(randomValue);
/*
 * Your code here
 */

【讨论】:

    猜你喜欢
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 2018-08-20
    • 2016-04-14
    • 1970-01-01
    相关资源
    最近更新 更多