在C#中存储聊天行的有效方法?
我正在寻找一种最有效的方法来存储与用C#编写的聊天相关的多个值,并且它必须是某种形式的对象,因为我的Web框架API需要一个对象参数来序列化JSON 我需要存储的值是用户名(字符串)、聊天信息(字符串)和时间戳(字符串)。到目前为止,我正在考虑要么做一个类来保存它们,要么在字典中保存一个列表或一本字典。我选择了对象列表,但我不确定如何在JSON中解析它。我也需要能够只提取出现在某个时间戳之后的条目 这可能有数千个条目,所以我希望尽可能高效。我还希望避免使用数据库,因为只有在应用程序关闭之前,数据才是相关的在C#中存储聊天行的有效方法?,c#,json,chat,data-storage,C#,Json,Chat,Data Storage,我正在寻找一种最有效的方法来存储与用C#编写的聊天相关的多个值,并且它必须是某种形式的对象,因为我的Web框架API需要一个对象参数来序列化JSON 我需要存储的值是用户名(字符串)、聊天信息(字符串)和时间戳(字符串)。到目前为止,我正在考虑要么做一个类来保存它们,要么在字典中保存一个列表或一本字典。我选择了对象列表,但我不确定如何在JSON中解析它。我也需要能够只提取出现在某个时间戳之后的条目 这可能有数千个条目,所以我希望尽可能高效。我还希望避免使用数据库,因为只有在应用程序关闭之前,数据
谢谢 你想要什么样的效率?内存效率?查找特定时间戳后的项目时是否具有时间效率?还有别的吗?另外,为什么时间戳是
字符串而不是日期时间
?现在,在字典中保存这些对象有助于通过键找到对象(值),因为这样更快。但是在你的情况下,根据你的问题,我认为这是没有必要的。因为,由于聊天对象的值和获取基于时间戳,所以必须进行迭代。如果您确定DateTime在您的集合中是唯一的,那么您可以将该信息添加到键中,并保留在值中。这样你就可以高效地获取。但同样不是项目范围。在查找时间戳后的项目时,时间效率最高。我把时间戳做成了一个字符串,因为我忘了我可以在JS中使用DateTime。时间戳很可能不是唯一的,因为一秒钟内可能有2次聊天。什么是替代方案?