int[,] time = new int[5,2]{{0,4},{1,5},{5,10},{3,{0,2}};var sorted = from x in Enumerable.Range(0,time.GetLength(0)) from y in Enumerable.Range(0,time.GetLength(1)) select new{ X = x,Y = y,Value = time[x,y] }into point orderby point.Value descending select point;
这有效,但它将我的所有数据分开.有没有办法在保持第1列和第2列的关系的同时对它们进行排序?
解决方法 听起来您希望将数据存储在多维数组中,但将数组中的每一行保留为单独的原子单元.另外,每个“点”的比较是X,然后是Y.int[,2] { { 0,4 },{ 1,5 },{ 5,10 },{ 3,{ 0,2 } };var sorted = from x in Enumerable.Range(0,time.GetLength(0)) select new Point() { X = time[x,0],Y = time[x,1] } into point orderby point.X ascending,point.Y ascending select point;int[,] sortedTime = new int[5,2];int index = 0;foreach (var testPoint in sorted){ Point aPoint = (Point) testPoint; sortedTime.SetValue(aPoint.X,index,0); sortedTime.SetValue(aPoint.Y,1); index++;}总结
以上是内存溢出为你收集整理的c# – 将MultiDimensional数组排列为降序或升序全部内容,希望文章能够帮你解决c# – 将MultiDimensional数组排列为降序或升序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)