2014-01-30 151 views
0

我有兩個字典(由XML的電子表格導入與幾個嵌套的foreach循環的數據填寫) 例Excel的XML看起來是這樣的: enter image description here如何從字典中挑選隨機值,並將其分配到列表

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文件。然後查找「情況」==「dstSituation」並將「繼承」字符串添加到同一個txt文件中。接下來,我會再次啓動整個事情,但假設可以選擇dstSituation「是在哪裏」srcSituation「只是==以前選擇」dstSituation「。依此類推......

這就是說,一旦我獲得更多的「情境」會有更多的srcSituation-> dstSituation和ofc在Sheet4中會有更多相同的srcSituation進入不同的dstSituation。

想象一下,這是一個沒有1條路線來實現某個目標的地圖,但可以是隨機的路線。我不知道怎麼寫,因爲它是主要環路上的字典和列表操作,我不知道如何構建正確的語法。

+0

任何人都可以提供幫助嗎? – Jan

+0

只生成隨機int,然後使用Dictionary.ElementAt(int);' –

回答

0

試試這個代碼段。

......Codes before 

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