1
A
回答
4
这是通过List
类中的sort(CompareFunc<G> compare_func)
方法完成的。你可以阅读更多关于它here。
字符串一个基本的例子将是:
list.sort((a,b) => {
return a.ascii_casecmp(b);
});
传递给sort()
函数的返回值是一样的ISO C90 qsort(3)
功能:
比较函数必须返回一个如果第一个参数分别小于,等于或大于第二个参数,则小于,等于或大于零的整数。
正如你感兴趣的修改时,FileAttribute
你要找的是TIME_MODIFIED,你会通过调用FileInfo
适当get_attribute_*
方法得到。
0
static int main (string[] args) {
var directory = File.new_for_path ("/var/db/pkg");
var glib_list = new GLib.List<FileInfo>();
try {
var enumerator = directory.enumerate_children (FileAttribute.TIME_MODIFIED, FileQueryInfoFlags.NOFOLLOW_SYMLINKS);
FileInfo file_info;
while ((file_info = enumerator.next_file()) != null) {
glib_list.append(file_info);
}
} catch(Error e) {
stderr.printf ("Error: %s\n", e.message);
}
// Lets sort it.
CompareFunc<FileInfo> my_compare_func = (a, b) => {
long c = a.get_modification_time().tv_sec;
long d = b.get_modification_time().tv_sec;
return (int) (c > d) - (int) (c < d);
};
glib_list.sort(my_compare_func);
foreach (FileInfo file_info in glib_list) {
stdout.printf ("%s\n", file_info.get_name());
}
return 0;
}
相关问题
- 1. 如何使用自定义比较器对通用列表进行排序?
- 2. 在红宝石中使用自定义比较器对散列进行排序
- 3. 无法使用自定义比较器函数对列表进行排序
- 4. 使用比较器进行自定义排序
- 5. 使用自定义比较器不工作的排序列表
- 6. 使用比较器对列表进行排序
- 7. 组然后使用java比较器对列表进行排序
- 8. WPF - 在按多列进行排序时使用自定义比较器
- 9. 在Python中使用自定义比较函数对列表进行排序列表
- 10. JavaFx - TableView:如何使用自定义比较器<T>进行排序?
- 11. 如何使用java比较器自定义排序/排序json对象?
- 12. Python:使用自定义比较器对字典数组进行排序?
- 13. 使用自定义比较器对元组的字典进行排序
- 14. 无法使用自定义比较器对两个属性进行排序
- 15. 排序列表中使用自定义的比较
- 16. 在Perl中,如何使用自定义排序对散列键进行排序?
- 17. 使用自定义列表分别对每行进行排序
- 18. 使用来自另一个列表的比较对列表进行排序
- 19. 使用比较器进行自定义比较
- 20. 如何使用比较器对此进行排序?
- 21. 如何使用自定义适配器在列表视图中进行排序
- 22. 根据python中的自定义比较器对字典项目进行排序
- 23. 使用比较器和泛型对链表进行排序java
- 24. 自定义比较器datagridview排序
- 25. 自定义比较器不排序
- 26. 如何在GWT中对列表<int[]>进行排序?自定义比较失败
- 27. 如何通过自定义函数对列表进行排序?
- 28. 按自定义列表排序对DataTable进行排序
- 29. 如何优雅地在自定义比较器中对VB.net中的对象进行排序?
- 30. 在C#中对数字/字符串列表进行排序的自定义常见数字文本比较器?