List<int> list = new List<int>(){0,1,2};求这样一个集合:List<List<int>>,元素是由list的元素两两组合的,但会交换位置
结果为:
{0,1}
{1,0}
{0,2}
{2,0}
{1,2}
{2,1}只要求两两组合

解决方案 »

  1.   


    var query = from x in list from y in list where x != y select new int[]{x, y};
      

  2.   

    int i = 0;
                List<int> list;            List<List<int>> aa = new List<List<int>>();                        for (i = 0; i < 3; i++)
                {
                    //new List<int>(){0,1,2};
                    list = new List<int>();
                    list.Add(0);
                    list.Add(1);
                    list.Add(2);                list.RemoveAt(i);                aa.Add(list);                //new List<int>(){0,1,2};
                    list = new List<int>();
                    list.Add(0);
                    list.Add(1);
                    list.Add(2);
                    list.RemoveAt(i);                list.Insert(0, list[list.Count-1]);
                    list.RemoveAt(list.Count - 1);                aa.Add(list);
                }
                foreach (List<int> ii in aa)
                {                richTextBox1.AppendText(ii[0].ToString() + ii[1].ToString() + "\r\n");
                }
      

  3.   

    问下:这个语法是LINQ吗?
    是LINQ
      

  4.   

    问下:这个语法是LINQ吗?
    是LINQ
    还是LINQ比较强大。。
      

  5.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;namespace FontEdit控件
    {
        public partial class picBeiJingTouMing : Form
        {
            List<int> list = new List<int>() { 0, 1, 2 };
            List<List<int>> list_list = new List<List<int>>();
            public picBeiJingTouMing()
            {
                InitializeComponent();
                dd();
            }        public void dd() 
            {
                foreach (int item in list)
                {
                    cc(item);
                }
                foreach (List<int> item in list_list)
                {
                    textBox1.Text += "{";
                    foreach (int item0 in item)
                    {
                        textBox1.Text += item0.ToString() + ",";
                    }
                    textBox1.Text = textBox1.Text.Trim().Remove(textBox1.Text.Length - 1, 1);
                    textBox1.Text += "}\r\n";
                }        }        public void cc(int item0) 
            {
                foreach (int item in list) 
                {
                    if (item != item0)
                    {
                        list_list.Add(new List<int>() { item0, item });
                    }
                }
            }
        }
    }
      

  6.   

    var query = list.SelectMany(x => list.Where(y => y != x).Select(new int[] { x, y }));