所以我在C#中有一个List,格式如下:
List<String> city_state = new List<String>();
//assume that each element in the above list has the following format:
我的想法是使用.Split(&#34;,&#34;)然后在每个List上调用.Sort()。问题是,城市不会引用它的相应状态,从而破坏数据。有没有更简单的方法呢?
答案 0 :(得分:3)
假设你有List<string> strings
中的字符串,你可以获得带有一些LINQ代码的排序列表:
var sortedList = strings
.Select(s => new { City = s.Split(",")[0], State = s.Split(",")[1] })
.OrderBy(s => s.State).ThenBy(s => s.City).ToList();
答案 1 :(得分:0)
假设州和城市都不是唯一键,我建议构建一个包含字符串对的列表(可以作为列表实现)。首先,您可以根据第一个字符串进行排序,然后,您可以按照其中包含的城市对给定状态的子集进行排序。