2017-04-14 26 views
-2
int number =0; 
int [,] type = {{900, 750, 1020 }, 
          {300, 1000, 2700 }, 
          {500, 700, 2100 }, 
          {400, 900, 1780 }, 
          {600, 1200, 1100}, 
          {575, 1150, 1900 }, 
          {600, 1020, 1700 } }; 
int[] loot = {200,800,1100,600,900,300};enter code here 
for (int row = 0; row < type.Get Length(0); row++) 
{ 
    for (int column = 0; column < type.Get Length(1); column++) 
    { 
     first = type[row, column]; 

     for (int i = 0; i <= 5; i++) 
     { 

      if (loot[i] ==first) 
      { 
       number++; 
       Console.Waterline("print"+number); 

      }//end if 
      else 
      { 

      }//end else 

     }//end for 

我從類型搶劫試圖匹配值,但我發現數僅爲積聚後運行它,我想請問我如何次數重置爲0每時間運行for循環?它打擾了我很長一段時間。感謝您的建議C#重置價值

+0

您的代碼格式不正確 – LiverpoolOwen

+0

您是否想要找到兩個數組都包含相同值的位置? – LiverpoolOwen

+0

謝謝我修復了編號 – Zhao

回答

1

要查找多維數組哄搶物品和物品之間的匹配計數:

int number = type.Cast<int>().Count(i => loot.Contains(i)); // 6 

它是如何工作的:

多維數組有一個枚舉,返回扁平項目(參見Using foreach with Arrays)。不幸的是,枚舉器不是通用的,所以你必須投射物品。在獲得多維數組中所有項目的序列後,可以檢查拾取數組是否包含每個項目(並計算這些項目的計數)。

+0

感謝您的建議,我找到了一種方法來匹配,但如何重置number = 0每次我運行(int i = 0; i <= 5; i ++)。 ...仍然是一個問題,我不想把它們全部加起來.. – Zhao