【问题标题】:Sorting Array in c# [closed]在c#中对数组进行排序[关闭]
【发布时间】:2012-10-30 12:40:28
【问题描述】:

我想对数组列表进行排序以找出相同的姓氏,并且应该使用 c# 按字母顺序排列。

string[] iniArray = { "M Facci", "D Thornton", "B Luke", "S Tofani"};

提前谢谢你。

【问题讨论】:

  • 你试过什么?排序是一个很常见的操作,你肯定可以在网上找到足够的信息来尝试一下吗?
  • @Jon: 正确的是“你尝试过什么”?
  • 你既没有数组列表也没有列表,只有一个数组。另外,您为什么要对数组列表进行排序以找出相同的姓氏?这与排序有什么关系?
  • @Vlad:怀疑的好处。

标签: c#


【解决方案1】:
string[] iniArray = { "M Facci", "D Thornton", "B Luke", "S Tofani", "T Luke" };
var sortedArray = iniArray.OrderBy(r => r.Split(' ').Last()).ToArray();

或(@killercam 提供)

var sortedArray = iniArray.OrderBy(r => r.Split().Last()).ToArray();

假设一个字符串中只有名字和姓氏,那么也存在一个姓氏。

显示结果数组:

foreach (string str in sortedArray)
{
    Console.WriteLine(str);
}

输出将是:

M Facci
B Luke
T Luke
D Thornton
S Tofani

【讨论】:

  • 我怀疑这个假设是否合理:kalzumeus.com/2010/06/17/…
  • @Vlad,是的,这是真的,但我只考虑问题中的样本,还有一些事情留给 OP 自己做
  • 您实际上不需要' ' 中的Split()...
  • @Killercam,不错,不知道这个
  • 感谢您的回答,请告诉我如何在 Winforms 中逐行显示输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
相关资源
最近更新 更多