Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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#_.net_Serialization_Reference - Fatal编程技术网

C# 什么';将电影对象保存在其他文件中并将其与实际收藏中的对象关联的最佳方法是什么?

C# 什么';将电影对象保存在其他文件中并将其与实际收藏中的对象关联的最佳方法是什么?,c#,.net,serialization,reference,C#,.net,Serialization,Reference,我在哈希集中有一组电影对象。电影类型具有以下属性:名称,年份,长度,类型,等等 我还将用户配置文件存储在各个文件中。我想让每个用户都有一些最喜欢的电影 但我不知道如何在用户配置文件中“连接”/引用这些电影 我应该仅仅依靠名字吗 在这些个人用户档案中存储喜爱的电影的最佳方式是什么?除了使用名字,我想不出其他方法,但这感觉像是一种脆弱的方式。电影名称也不是唯一的。有一些名字相同 有什么想法吗?如果您希望将您的电影对象链接到另一个对象,我假设这些对象已保存下来以供持久性使用,那么您可能希望具有某种与电

我在
哈希集中有一组
电影
对象。电影类型具有以下属性:
名称
年份
长度
类型
,等等

我还将用户配置文件存储在各个文件中。我想让每个用户都有一些最喜欢的电影

但我不知道如何在用户配置文件中“连接”/引用这些电影

我应该仅仅依靠名字吗

在这些个人用户档案中存储喜爱的电影的最佳方式是什么?除了使用名字,我想不出其他方法,但这感觉像是一种脆弱的方式。电影名称也不是唯一的。有一些名字相同


有什么想法吗?

如果您希望将您的
电影
对象链接到另一个对象,我假设这些对象已保存下来以供持久性使用,那么您可能希望具有某种与
电影
类关联的唯一标识符(
Guid


User
类将有一个
Guid
s列表,表示连接为收藏夹的电影(或者您可以使用实际的电影对象预加载该列表)

我不知道下面的方法是否是最好的,但是您是否考虑过从作为电影的字节数组生成哈希值(保存到磁盘或数据库时)


你可以找到一些方法。

谢谢,但是我如何生成它们?如果电影的名称以后发生更改怎么办?因为有时会发生更改。当你在构造函数中创建电影对象时,执行类似于
id=Guid.NewGuid()
Guid
系统的
命名空间中)。但仅在制作全新的电影对象时生成id。您可以更改其他属性,但只要不更改Guid,就可以了。谢谢,我从我解析的网站获得了id,这样我就可以知道内存中现有列表中是否有新电影,如果有,请生成一个新的Guid,如yo但是guid很容易存储吗?因为它会有UserA:Movie001->ratinghegive,IsFavoriteMovie等东西,所以我想知道guid是否是一个巨大的开销。没有明显的开销,guid可以像这样存储为字符串:F3FAD7C4-3845-4A7A-9021-CC6301B107A6Yep,它最终会像上面那样存储为一个字符串,并以正确的库进行读取我在考虑散列值,但不确定这是否是一个好主意。是否有一个好的散列算法可以用于此?根据您所说的名称更改,这可能不是一个好主意,因为散列值将更改。我的建议是使用视频字节流作为散列的源。谢谢Philipp,我的电影列表就像在imdb上一样,我在磁盘上没有任何实际的电影:O