匹配来自2个数组的值具有相同的索引

时间:2016-12-27 01:16:28

标签: c# arrays

如何将这些数组中的值与相同的索引匹配?

int[] array = { 4, 4, 4, 0 };
int[] array1 = { 1, 2, 4, 0 };

我想匹配" 4"来自"阵列" - 索引2与" 4"来自" array1"具有相同的索引

我尝试将相同的值与

匹配
int i, j = 4;
bool match = (array.Contains(i) && array1.Contains(j));

然后比较索引

int index = Array.IndexOf(array, i);
int index1 = Array.IndexOf(array1, j);

但由于index == 0和index1 == 2

而失败

2 个答案:

答案 0 :(得分:3)

LINQ是你的朋友。您可以使用Select() var matches = array1.Select((value, index) => new { Index = index, Value = value}) .Where(x => x.Value == array2[x.Index]) .Select(x => x.Value); 调用来创建包含每个数组值及其相应索引的匿名对象。一旦你拥有了这个键/值对的集合,解决方案就相当简单了。

$("#myForm").submit(function(e){
  // store reference to form due to callback context
  var form = this;

  bootbox.confirm({
    message: "Are you sure?",
    buttons: {... },
    callback: function (result){
      if (result)
      {
        // Some code to set values to hidden inputs and another irrelevant stuff...
        // Now use native submit

         form.submit();
      }
    }
  });
  // prevents jQuery submit only
  return false;
});

答案 1 :(得分:1)

使用array.Zip(array1)。这给出了一组元组。