Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中存储聊天行的有效方法?_C#_Json_Chat_Data Storage - Fatal编程技术网

在C#中存储聊天行的有效方法?

在C#中存储聊天行的有效方法?,c#,json,chat,data-storage,C#,Json,Chat,Data Storage,我正在寻找一种最有效的方法来存储与用C#编写的聊天相关的多个值,并且它必须是某种形式的对象,因为我的Web框架API需要一个对象参数来序列化JSON 我需要存储的值是用户名(字符串)、聊天信息(字符串)和时间戳(字符串)。到目前为止,我正在考虑要么做一个类来保存它们,要么在字典中保存一个列表或一本字典。我选择了对象列表,但我不确定如何在JSON中解析它。我也需要能够只提取出现在某个时间戳之后的条目 这可能有数千个条目,所以我希望尽可能高效。我还希望避免使用数据库,因为只有在应用程序关闭之前,数据

我正在寻找一种最有效的方法来存储与用C#编写的聊天相关的多个值,并且它必须是某种形式的对象,因为我的Web框架API需要一个对象参数来序列化JSON

我需要存储的值是用户名(字符串)、聊天信息(字符串)和时间戳(字符串)。到目前为止,我正在考虑要么做一个类来保存它们,要么在字典中保存一个列表或一本字典。我选择了对象列表,但我不确定如何在JSON中解析它。我也需要能够只提取出现在某个时间戳之后的条目

这可能有数千个条目,所以我希望尽可能高效。我还希望避免使用数据库,因为只有在应用程序关闭之前,数据才是相关的


谢谢

你想要什么样的效率?内存效率?查找特定时间戳后的项目时是否具有时间效率?还有别的吗?另外,为什么时间戳是
字符串而不是
日期时间
?现在,在字典中保存这些对象有助于通过键找到对象(值),因为这样更快。但是在你的情况下,根据你的问题,我认为这是没有必要的。因为,由于聊天对象的值和获取基于时间戳,所以必须进行迭代。如果您确定DateTime在您的集合中是唯一的,那么您可以将该信息添加到键中,并保留在值中。这样你就可以高效地获取。但同样不是项目范围。在查找时间戳后的项目时,时间效率最高。我把时间戳做成了一个字符串,因为我忘了我可以在JS中使用DateTime。时间戳很可能不是唯一的,因为一秒钟内可能有2次聊天。什么是替代方案?