2012-10-30 59 views
-11

我想對數組列表進行排序以找出相同的姓氏,並且應該按照字母順序使用c#。在c中排序數組#

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

在此先感謝您。

+9

你嘗試過什麼?排序是一種非常常見的操作,當然你可以在網上找到足夠的信息來進行嘗試。 – Jon

+1

@Jon:正確的是「你有沒有試過」? – Vlad

+0

您既沒有數組列表,也沒有列表,只是一個數組。另外,爲什麼你想排序數組列表來找出相同的姓氏*?這與排序有什麼關係? – sloth

回答

4
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 
+0

我懷疑這個假設是正確的:http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ – Vlad

+0

@Vlad,是的,這是真的,但我只是在考慮樣本在這個問題上,還有一些東西讓OP自己去做 – Habib

+1

你實際上不需要'Split'()中的'''... – MoonKnight