按属性同时排序2个数组

时间:2015-08-25 20:43:02

标签: c# arrays sorting

我有两个数组:

<script>
$(document).ready(function(){
  var userEmail = $('input#userEmail').val();
  $("#email-submit").click(function(){
    //False condition
    if(!validateEmail(userEmail)) { 
      $('#emailErrors').text("Enter a valid Email");
    }
    //true conidition
    if(validateEmail(userEmail)) { 
      alert("true");
      $.post('includes/loginFunction.php', {userEmail: userEmail}, function (data){
        $('#emailErrors').text(data);
      });
    }
  });
});
function validateEmail($email) {
   var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
   return emailReg.test( $email );
} 
</script>

太空中的一点:

Vector3[] positions;
Matrix4x4[] transforms;

对于每个位置,我得到距离点的距离:

Vector3 point;

使用委托对单个数组进行排序我感觉很舒服,但是如何同时对这两个数组进行排序呢?

我需要尽可能快地进行操作,所以我想避免打包到临时数组然后解压缩结果。

我正在使用.NET 2.0,所以没有Linq。

1 个答案:

答案 0 :(得分:2)

您应该使用更好的模型将数据绑定在一起,而不是管理两个并行数组。

Tuple<Vector3, Matrix4x4>[] posTransforms;

//add like this
posTransforms.Add(new Tuple<Vector3, Matrix4x4>(vec, matrix));

// order by Y cooridinate of the vectors for example
posTransforms.OrderBy(x => x.Item1.Y)