c# -按州和城市排序数据的最简单方法
本文关键字:数据 最简单 方法 排序 城市 | 更新日期: 2023-09-27 18:02:18
我在c#中有一个列表,格式如下:
List<String> city_state = new List<String>();
//assume that each element in the above list has the following format:
- 俄克拉荷马城,俄克拉荷马州 马萨诸塞州波士顿印第安纳州的印第安纳波利斯
- Ab,
- Aa, B 等
我的想法是使用。split(","),然后在每个List上调用。sort()。问题是,城市不会引用它对应的状态,从而破坏了数据。有更简单的方法吗?
假设您有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();
假设州和城市都不是唯一键,我建议构造一个包含字符串对的列表(可以作为列表实现)。首先,您可以基于第一个字符串进行排序,然后,您可以根据其中包含的城市对子集(例如给定的州)进行排序。