【发布时间】:2018-11-23 23:12:34
【问题描述】:
大家好,我需要你的帮助。我在大学有一项关于对字典进行排序的任务。 它的属性是:
Dictionary<string, Book> nameAndDate = new Dictionary<string, Book>();
类 Book 的属性:
class Book
{
public string NAME;
public string Date;
public DateTime DateAsDate;
public Book(string bookName , string date,DateTime dateAsDate)
{
this.NAME = bookName;
this.Date = date;
this.DateAsDate = dateAsDate;
}
}
所以我的问题是如何通过升序对键进行排序,这样当我给书起名字和日期时,它会这样写
HP1 -> 26.06.1997
HP7 -> 21.07.2007
AC -> 20.11.2009
【问题讨论】:
-
@BossRoss 您链接的问题是针对
Python,这可能与问题的C#标记完全不同。 -
你的字典的关键字是什么?
-
您不能对 Dictionary 进行排序,也不能按 Key 以外的任何方式对 SortedDictionary 进行排序。您可以从字典中获取已排序的(无论如何)值列表。因为
.Values给你一个很普通的列表。您没有在此处指定您的实际期望。 -
这本书的名字和它的值是日期,重点是当你添加一些名字和日期时,它会被添加到字典中,然后你按值升序打印它们,我只是当值是日期时,不明白我该怎么做
-
实际上字典速度很快,因为它们使用散列而不是实际的键来查找项目。基于散列的排序是非常无用的,你永远不应该依赖你的字典被排序。如果您需要这个,请改用
SortedDictionary。
标签: c# class datetime dictionary