按姓氏排序的名称列表

Posted

技术标签:

【中文标题】按姓氏排序的名称列表【英文标题】:List of names sorting them by LastName 【发布时间】:2022-01-14 16:39:23 【问题描述】:

我需要在一行中读取带有',' 的名称列表,例如: John Doe, Johnny Di, ... 我是一个初学者,所以我真的不知道如何正确地从列表中读取,但这就是我设法弄乱的

var names = new List<string>();

string name1 = Console.ReadLine();

while (name1 != "")

    names.Add(name1);
                    
    name1 = Console.ReadLine();

               
var res = from name in names
          orderby name.Split(" ")[1]
          ascending
          select name;

【问题讨论】:

var names = Console.ReadLine().Split(',') ? 您的代码不会读取以逗号分隔的名称列表,而是一次读取一个名称,直到输入空白为止。 【参考方案1】:

类似这样的:

var res = Console
  .ReadLine()
  .Split(',', StringSplitOptions.TrimEntries)
  .OrderBy(name => name
             .Split(' ', StringSplitOptions.RemoveEmptyEntries)
             .LastOrDefault(),
           StringComparer.OrdinalIgnoreCase)
  .ToList(); // .ToArray(); if you want an array

我们来了

    读取用户输入 - Console.ReadLine() - 所有名称以逗号分隔(例如 John Doe, Johnny Di, John Smith) 在修剪每个项目时按, 拆分用户输入(让我们保持友好,并容忍逗号前后的空格,如John Smith, Jack Doe) 订购商品:我们Split name 获取姓氏LastOrDefault 为姓氏 让我们有一个列表 (List&lt;string&gt;) 作为res

【讨论】:

以上是关于按姓氏排序的名称列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用选择排序按三个不同的方面排序

链表排序 a-z

UITableview 的名称部分按排序顺序排列

NSFetchedResultsController 按名字或姓氏排序

fhir 排序和搜索参数

我无法按字母顺序对文件中的“姓氏”进行排序:我得到中止陷阱:6