Orderby()在c#中无法正确排序数字。
- 论坛
- Orderby()在c#中无法正确排序数字。
13 浏览
Orderby()在c#中无法正确排序数字。
我正在为我的公司开发一个应用程序,目前正在处理搜索功能。当用户搜索一个项目时,我想显示最高版本(存储在数据库中)。
问题是,版本号是以字符串形式而不是整数形式存储的,当我对结果进行OrderBy(q=>q.Version)排序时,它们以以下方式返回:
1 10 11 2 3 ...
显然,2排在10之前。
有没有办法将版本号转换为整数,或者有没有一个简单的IComparer可以使用?到目前为止,我找不到任何有实质性作用的东西。
我尝试过这样做:
var items = (from r in results select r).OrderBy(q => Int32.Parse(q.Version));
这段代码可以编译,但是不起作用。