如何在C#中的数组开始转向? [英] How to shift the start of an array in C#?
本文介绍了如何在C#中的数组开始转向?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图重组基础上的数值中第一次出现的数组(从而模拟功能类似于一个圆阵。)
例如,下面的阵列中祝值6的第一次出现,成为新的第一个元素,和之前的元素成为后者:
所以:
INT [] myArray的= {2,3,6,1,7,6};
变成了:
myArray的= {6,1,7,6,2,3};
什么是最好的方式来实现这一目标?
解决方案
INT [] myArray的= {2,3,6,1,7,6};
myArray的= myArray的
.SkipWhile(I =>!I = 6)
.Concat(myArray.TakeWhile(I =>!I = 6))
.ToArray();
应该做的伎俩!
您将需要使用 System.Linq的
;
I'm trying to reorganize an array based on the first occurrence of a value (thus simulating similar functionality to a circular array.)
For example, in the following array I wish the first occurrence of the value 6 to become the new first element, and prior elements to become the latter:
So:
int[] myArray = {2, 3, 6, 1, 7, 6};
Becomes:
myArray = {6, 1, 7, 6, 2, 3};
What is the "best" way to achieve this?
解决方案
int[] myArray = { 2, 3, 6, 1, 7, 6 };
myArray = myArray
.SkipWhile(i => i != 6)
.Concat(myArray.TakeWhile(i => i != 6))
.ToArray();
Should do the trick!
You will need a using System.Linq
;
这篇关于如何在C#中的数组开始转向?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文