如何使用OrderBy
函数对字符串数组进行排序?我看到我需要实现一些接口...对C#中的字符串数组进行排序
3
A
回答
6
您可以使用排序数组。
var sortedstrings = myStringArray.OrderBy(s => s);
这将返回Ienumerable
的实例。如果您需要将其保留为数组,请改用此代码。
myStringArray = myStringArray.OrderBy(s => s).ToArray();
我不知道你指的是当你说你要实现一些接口是什么,但你没有使用IEnumerable.OrderBy
时,要做到这一点。只需以lambda表达式的形式传递Func<TSource, TKey>
即可。
2
OrderBy
将不到位现有数组排序。如果您需要这样做,请使用Array.Sort
。
OrderBy
总是返回新序列 - 这当然也可以转换成一个阵列和存储参考原始变量,按岛之风的答案。
2
要对进行排序现有阵列请致电Array.Sort(theArray)
。
再在接口上您的评论:您不需要在这里添加任何的接口,因为string
是很好的支持;但对于定制类型(你自己),你可以实现IComparable
/IComparable<T>
启用排序。您可以也做一个IComparer
/IComparer<T>
一样传球,如果你希望(或需要),提供了排序是不同的类型本身的代码。
0
LINQ的具有两个(语法)的方式来排序字符串数组。
1:
string[] sortedStrings = unsortedStrings.OrderBy(s => s).ToArray();
此语法使用Lambda Expressions,如果你不知道什么s => s
手段。
2:
sortedStrings = (from strings in unsortedStrings
orderby strings
select strings).ToArray();
这个例子看起来有点像一个SQL语句,可能是更容易阅读,如果你是新的LINQ。
ToArray()
在这种情况下将IOrderedEnumerable<string>
转换为string[]
。
相关问题
- 1. 对字符串数组进行排序
- 2. 对字符串数组进行排序
- 3. 如何对C中数组中的字符串进行排序?
- 4. 在C++中对字符串数组进行排序
- 5. 按字符串中的数字对数组进行排序?
- 6. 对字符串中的字符进行排序的C程序
- 7. 对字符串,组数据中的行进行排序
- 8. C - 按特定列对3d字符串数组进行排序
- 9. C#对字符串数组进行排序
- 10. 在VB中对字符串数组进行排序的问题
- 11. 对VTL中的字符串数组进行排序
- 12. 对字符数组进行排序
- 13. 通过包含数字对字符串数组进行排序?
- 14. 如何在java中对字符串数组进行排序?
- 15. 如何在GUI中对字符串数组进行排序?
- 16. 在BlackBerry中对字符串数组进行排序
- 17. 在Java中对字符串数组进行排序
- 18. 在java中对字符串数组进行排序
- 19. Postgresql函数对字符串中的字符进行排序
- 20. 在LINQ C中对字符串列表进行整数排序#
- 21. 在字符串之前对数组数值进行排序?
- 22. 使用stdlib的qsort()对字符串数组进行排序
- 23. 对4个数组进行排序的文件(字符串)
- 24. 在字符串C编程中对字出现进行排序
- 25. 如何使用qsort在C++中对字符串数组进行排序?
- 26. 对Java中包含数字的字符串进行排序
- 27. AngularJS - 对字符串进行排序 - 重复其中的数字
- 28. 对字符串数组进行排序并忽略大小写
- 29. 对字符串数组进行不区分大小写排序
- 30. 在对数组进行排序时忽略某些字符串
好的,但什么是“s”? – aharon 2011-01-14 07:53:54
@aharon:这是lambda表达式的参数。如果你要学习LINQ,你需要了解各种功能,从C#3 – 2011-01-14 07:54:49