创建要排序的列表

时间:2013-08-18 14:46:32

标签: c# .net list sorting

我在这个主题上找不到任何可以转化为我当前问题的内容,所以我希望能得到一些关于如何解决以下内容的想法:

我基本上有两个列表,每个列表包含许多值的以下信息:

清单1:

int row
string text

清单2:

int column
string text

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

之后我还需要它能够对值进行排序,以便先按“行”排序,然后按“列”排序。这样最终产品可能如下所示:

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

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

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

嗯,我相信你需要的是一个数据结构,一个有序的数据结构。 也许CircularSortedLinkedList应该可以工作(在线研究)。如果您要管理大量数据,这将有效。如果没有,我认为你可以只用compareTo比较字符串(这会得到一个值,表示string1&gt;字符串2或反之亦然,如果你有其他的话,你可以将它排序。

希望这有帮助