在C#中对listview进行排序时忽略"The"和"A"

Mik*_*ike 4 .net c# sorting listview

目前我正在为自己制作一个迷你音乐播放器/组织者.但是,在使用列表视图时,它按字母顺序排序,并且不会忽略"The"和"A":

  1. 很喜欢我
  2. Adiago For Strings
  3. 保持脆脆
  4. 深刻的
  5. 是时候假装了

应该:

  1. Adiago For Strings
  2. 深刻的
  3. 很喜欢我
  4. 保持脆脆
  5. 时间假装

它全部是从一个多维数组加载的,我甚至尝试过滤掉"The"和"A",然后显示真实姓名(来自不同的数组),但它只是对显示的名称进行排序(包括"The"和"A")

adr*_*nks 6

您可以做的是创建一个客户比较器,ListView使用ListView.ListViewItemSorter属性在您的实例上设置它.然后,您的比较器负责从被比较项目的开始转移"the"和"a".

当你的ListView排序,它会使用这个自定义比较与排序,但原有的价值观,包括"中"和"a"将被用作显示值ListView(即你不需要修改你把该值ListView - 比较器只是忽略排序时你想要的单词).