在C#中,如何将列表向右旋转指定数量的位置?

在C#中,如何将列表向右旋转指定数量的位置?,c#,C#,我正在尝试编写一个测试,其中有两个参数,一个名为items的int列表和一个名为places的int,在这个测试中,我将把列表向右旋转指定的位数 以下是我迄今为止所做的尝试 public void Test8(List<int> items, int places) { int a = 0; if (a < items.Count) { a = a % items.Count;

我正在尝试编写一个测试,其中有两个参数,一个名为items的int列表和一个名为places的int,在这个测试中,我将把列表向右旋转指定的位数

以下是我迄今为止所做的尝试

 public void Test8(List<int> items, int places)
    {
        int a = 0;

        if (a < items.Count)
        {
            a = a % items.Count;
        }

        int[] result = new int[items.Count];

        for (int i = 0; i < a; i++)
        {
            result[i] = items[items.Count - a + i];
        }
        int j = 0;
        for (int i = a; i < items.Count; i++)
        {
            result[i] = items[j];
            j++;
        }
public void Test8(列表项、整数位置)
{
int a=0;
如果(a
您可以使用LINQ执行以下操作:

IEnumerable<T> RotateLeft<T>(IEnumerable<T> list, int places)
{
    return list.Skip(places).Concat(list.Take(places));
}

IEnumerable<T> RotateRight<T>(IEnumerable<T> list, int places)
{
    return RotateLeft(list, list.Count() - places);
}
IEnumerable RotateLeft(IEnumerable列表,int位置)
{
返回列表.Skip(places).Concat(list.Take(places));
}
IEnumerable RotateRight(IEnumerable列表,整数位置)
{
返回RotateLeft(list,list.Count()-places);
}

no在该示例中的何处使用参数“places”…可能有助于发布完整的方法。有意义的变量名称可以帮助您。什么是
a
?您将其初始化为0,然后立即检查它是否大于
项。Count
。为什么?它从
项开始就不会出现。Count
不能小于0。您提到的
places
参数在哪里?下面是这是我没有添加的代码部分->public void Test8(列表项,int位置)