2013-08-18 54 views
-1

我找不到关于这个问题是转换到我目前的问题,所以我希望我能得到关于如何解决以下一些想法什么:创建列表进行排序,通过

我基本上有两种列出了每个保持了很多的值的以下信息:

列表1:

int row 
string text 

列表2:

int column 
string text 

我想要做的是将两个列表合并成一个 - 但我并不真正知道要使用哪个对象。我所知道的最接近的是一个.CSV,它具有标题信息“行”,“列”和“文本”。但是我并不想写一个.CSV,然后必须将它加载回程序以进一步处理它 - 我想要一个对象/数组。有这样的事情存在吗?

之后,我也需要它能够对值进行排序,以便先按“排”排序,再按“排”排序。因此,最终产品可能如下所示:

row  column  text 
0   0    test1 
0   1    test2 
1   0    test3 
... 

非常感谢您的帮助(是的,我是C#的初学者)。

+1

您应该创建自己的类来存储数据。 – SLaks

回答

1
List<MyClass> list1 = new List<MyClass>(); 
List<MyClass> list2 = new List<MyClass>(); 

请注意,这是MyClass的你在哪里存储你的数据的类。

// Merge two List 
list1.AddRange(list2); 

,然后排序,你可以这样做

List<MyClass> sortedList = list1.OrderBy(x => x.row).ThenBy(x => x.column).ToList(); 
0

那么,我相信你需要的是一个数据结构,一个排序的数据结构。 也许CircularSortedLinkedList应该工作(在线研究)。如果你要管理大量数据,这将起作用。如果不是这样,我想你可以用的compareTo比较字符串(这得到一个值,表示如果字符串2>字符串2或反之亦然并与各如果你还能把它清除出来。

希望这有助于