如果我使用对象的 属性 作为内存缓存中的键,该对象是否仍会被垃圾收集?

If I use the property of an object as the key in Memory Cache, will that object still be garbage collected?

假设您有一个像 User 这样的对象,其中一个 属性 是 UserName。假设您想使用 C# MemoryCache 来存储有关该用户的一些信息,并使用 UserName 字符串 属性 作为缓存中的键。

这会阻止用户对象的垃圾回收吗?

如果我没理解错的话,你保存的是 属性(在本例中为字符串)的值而不是对象本身,因此你的对象将被垃圾回收。