我想知道如何可以排序字符串[根據特定字符串的位置]的項排序的字符串數組。例如我想通過子串以下數組進行排序 「 - 」根據字符串的位置(C#)
輸入:{XX - C,XXXXX - B,YYY - 一個,mlllll - d}
預期輸出:{YYY - 一個, XXXXX - b,XX - C,mlllll - d}
我至今如下:
public string[] SortByStringPos(string[] arr, string str, bool ascending)
{
if (ascending)
{
var result = from s in arr
where s.Length >= s.IndexOf(str)
orderby s[s.IndexOf(str)] ascending
select s;
return result.ToArray();
}
else
{
var result = from s in arr
where s.Length >= s.IndexOf(str)
orderby s[s.IndexOf(str)] descending
select s;
return result.ToArray();
}
}
有人可以請給我一個提示...?
它看起來像你想通過這封信後'-'來排序,不是由'-'的位置,這是一樣的在所有的字符串? – Esailija
所以你想要的是字符串數組進行排序,只基於它的字符串的最後一部分?因此,例如忽略前4個字符? 「 - 」(或在你的情況,只是後面的部分?」 –
OK對不起,我是不是specifing還不夠清楚,我想在那裏過一個給定的字符串X首次出現時字符串[]內的所有項目進行排序如果X沒有在項目Y存在,那麼就要把Y在新的String []的結束。 我現在希望它更清楚......? – oren