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
我尝试从类型到战利品的匹配值,但是我发现数字仅在运行后累积我想要问我每次运行for循环时如何将数字重置为0?这让我困扰了很久。感谢您的建议
答案 0 :(得分:1)
要查找战利品和多维数组中的项目之间的匹配计数:
int number = type.Cast<int>().Count(i => loot.Contains(i)); // 6
工作原理:
多维数组有一个枚举器,它返回数组的扁平项(参见Using foreach with Arrays)。遗憾的是,枚举器不是通用的,因此您必须强制转换项目。获得多维数组中所有项目的序列后,您可以检查战利品数组是否包含每个项目(并计算此类项目的数量)。