

1 using System; 2 using System.Collections.Generic; 3 using System.Diagnostics; 4 using System.Linq; 5 using System.Text; 6 using System.Threading; 7 8 9 namespace ConsoleApplication1 10 { 11 class Program 12 { 13 static void Main(string[] args) 14 { 15 //定义一个二维list,用来代替二维数组,这样每行的个数就可以变了 16 List<List<int>> array = new List<List<int>>(); 17 //定义一个一维list,作为上面二维list的某个元素 18 List<int> item = new List<int>(new int[] { 3, 4, 5, 6 }); 19 //将上面的一维list作为一个元素放入二维list中 20 array.Add(item); 21 //给一维list赋新值 22 item = new List<int>(new int[] { 30, 40, 50, 60 }); 23 //将上面的一维list作为一个元素放入二维list中 24 array.Add(item); 25 //给一维list赋新值 26 item = new List<int>(new int[] { 20, 40, 50, 30 }); 27 //将上面的一维list作为一个元素放入二维list中 28 array.Add(item); 29 30 31 //下面 取出二维list的某个元素 32 int m = array[1][2];//此时的m即为50 33 //下面 给二维list某位置赋值 34 array[1][2] = 60; 35 //验证某位置的值是否改变 36 m = array[1][2]; 37 //将二维list的第0行所有元素给某个一维list 38 item = array[0]; 39 40 41 42 ////下面对二维list排序,且都是按最后一个元素排序,因为最后一个我作为遗传算法的fit值 43 //list排序方法一 44 //array.Sort( delegate(List<int> p1,List<int> p2) 45 // { 46 // return p1[3].CompareTo(p2[3]);//按最后一个元素升序 47 // } 48 // );//升序或则用下面的排序http://blog.youkuaiyun.com/jimo_lonely/article/details/51711821 49 //list排序方法二 50 array.Sort((List<int> x, List<int> y) => { return x[3].CompareTo(y[3]); }); 51 //list排序方法三 52 List<List<int>> array1 = array.OrderBy(o => o[0]).ToList();//升序 53 54 //计时 55 Stopwatch sw = new Stopwatch(); 56 sw.Start()