C# 将序列元素成对划分

C# 将序列元素成对划分,c#,C#,我有16个元素的序列:1,2,3,…,16(或2*n个元素)。序列元素总是从1到长度(序列),即4个元素的序列是1,2,3,4 编辑:第一个序列元素始终为=1,第二个序列元素为=2,第三个序列元素为=3,依此类推这是一款游戏“寻找一对图片” 我想写一个将元素分成对的算法。例如 1-15 2-16 3-13 4-9 5-14 6-10 7-11 8-12 PS:不,林克:)vs2005 编辑:如我所见,我的问题很简单,所以没有人能回答:)或者每个人都害怕什么?这是怎么回事 class Progra

我有16个元素的序列:1,2,3,…,16(或2*n个元素)。序列元素总是从1到长度(序列),即4个元素的序列是1,2,3,4

编辑:第一个序列元素始终为=1,第二个序列元素为=2,第三个序列元素为=3,依此类推这是一款游戏“寻找一对图片”

我想写一个将元素分成对的算法。例如 1-15 2-16 3-13 4-9 5-14 6-10 7-11 8-12

PS:不,林克:)vs2005

编辑:如我所见,我的问题很简单,所以没有人能回答:)或者每个人都害怕什么?

这是怎么回事

class Program
{
    static void Main(string[] args)
    {
        int size = 8;

        List<int> tmpList = new List<int>();

        for (int i = size; i <= size * 2; i++)
        {
            tmpList.Add(i);
        }

        List<Pair> result = new List<Pair>();

        Random r = new Random();

        for (int i = 1; i <= size; i++)
        {
            Pair pair = new Pair() { a = i, b = PopRandom(r, tmpList) };
            result.Add(pair);
        }

        foreach (Pair p in result)
        {
            Console.WriteLine("{0} - {1}", p.a, p.b);
        }
    }

    static private int PopRandom(Random r, List<int> list)
    {
        int i = r.Next(0, list.Count);
        int result = list[i];

        list.RemoveAt(i);

        return result;
    }

    struct Pair
    {
        public int a;
        public int b;
    }
}
类程序
{
静态void Main(字符串[]参数)
{
int size=8;
List tmpList=新列表();

对于(int i=size;i,如果没有选择标准,只需每隔一个选择一个即可

var result = new List<Tuple<int,int>>();

for (int i = 1; i < size; i+=2 )
{
   var pair = new Tuple.Create(i,i+1);
   result.Add(pair);   
}
var result=newlist();
对于(int i=1;i
请发布您迄今为止编写的代码。人们通常不喜欢只为您编写代码。删除了[algorithm]。添加了[初学者]。穆德,不,这不是家庭作业。米奇,我问一个问题是因为我没有代码。另外,还不完全清楚您在寻找什么。您应该澄清您的问题陈述。“不,林克:)”。还有其他不受激励的限制吗?那“每个答案都应该只用右手键入”呢?;-)Pair Pair=new Pair(){a=i,b=PopRandom(tmpList)};该行是否也适用于.net 2.0?Pair 1-8和8-15是错误的…升级为“更随机”;-)