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()。问题是,城市不会引用它对应的状态,从而破坏了数据。有更简单的方法吗?

c# -按州和城市排序数据的最简单方法

假设您有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();

假设州和城市都不是唯一键,我建议构造一个包含字符串对的列表(可以作为列表实现)。首先,您可以基于第一个字符串进行排序,然后,您可以根据其中包含的城市对子集(例如给定的州)进行排序。