【发布时间】:2020-07-06 18:36:31
【问题描述】:
我有一个 list<job>称为 _joblist,它是在表单加载时从反序列化的 json 填充的,作业是一个类:
public class Job
{
public string Jobname { get; set; }
public string State { get; set; }
public string City { get; set; }
public string Status = "●";
public int COT { get; set; }
public string Customer { get; set; }
}
我对默认 list.sort 的问题是它按“ASCIIbetically”排序,我希望它专门根据 public string Customer 变量按字母数字排序,
例如预期输出:
job1
job2
job3
job11
job21
实际输出:
job1
job11
job2
job21
job3
关于类似的问题,我看到人们建议使用 LINQ 和 list.orderby,我对此的问题是我看到的所有示例都是针对 list<string> 或 string[],因为我相对较新c# 我不确定如何在这个特定示例中执行此操作。如果问题不清楚,或者我对任何术语有误,我深表歉意,就像我说我对此比较陌生,如果有要求,很乐意提供澄清,提前致谢。
【问题讨论】:
-
job1 job2 job3 all 客户将在前缀中有“工作”?或者这只是一个例子?
-
它应该如何知道嵌入在字符串中的特殊整数值?要么通过属性对其进行解释并对其进行排序,要么编写一个自定义比较器类型来理解编码并根据您的规范对值进行排序。
-
1job、2job怎么样? -
@hanan 我仅使用单词 job 作为示例,重点是我正在寻找一个包含数字和字母的字符串,即 job1 等,但按字母数字排序。
-
stackoverflow.com/questions/3716831/… 但正如你所说,无论如何这对你没有帮助。
标签: c# winforms linq natural-sort