c# - 如何在 C# 中移动数组的开头?

标签 c# arrays

我正在尝试根据值的第一次出现来重新组织数组(从而模拟与循环数组类似的功能。)

例如,在下面的数组中,我希望第一次出现的值 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();

应该可以解决问题!

您将需要一个 using System.Linq;

关于c# - 如何在 C# 中移动数组的开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1470982/

相关文章:

java - 在Arraylist中查找名称,然后将内容传输到数组?

javascript - AngularJS:当 ng-model 是数组时未选择 SELECT 选项

java - 如果比较对象数组索引和对象,如何正确使用 equals()?

c# - SQL + Cyrillic 支持 + 参数化查询 + 多项选择

C# 如何将 Datagridview 中的多行保存到一个数据库

c# - 如何从 XML 中获取此值?

c# - 如何使用友好名称而不是指纹获取 X509Certificate?

javascript - JS "for (var key in arr)"> 抛出我自己的 Array.prototypes,但不是固有的。为什么?

c - 如果我在 c 中为数组分配内存,是否必须强制转换?

c# - 通过列表从 XML 中获取 InnerText