c# - 强制(通用)值类型成为引用

标签 c# reference value-type

我有一个包含一些字段的结构。其中一个字段是通用类型。通用类型可以是引用类型或值类型

我想强制将其存储为内部引用,以避免结构变得太大。

struct Foo<T>
{
  T field; // should be a reference
}

我知道我可以使用 objectT[],但两者都很笨拙。没有类似泛型引用类型的东西吗?

struct Foo<T>
{
  Reference<T> field;
}

是的,当然,我可以自己写。但我正在努力避免这种情况

最佳答案

将 T 定义为一个类。

struct Foo<T> where T : class
{
  T field; // Now it's a reference type.
}

关于c# - 强制(通用)值类型成为引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3607442/

相关文章:

c# - 自定义类无法显示二维数组c#(unity)

c# - 在 .Net 中使用反射是否会导致性能相当糟糕?

reference - 如何将引用的元组转换为元组的引用?

c# - 在 C# 中,使用值类型与引用类型

c# - C#按值传递与按引用传递

c# - 值类型扩展方法是否提供对原始值的写访问?

c# - 可以将 IQueryable<Derived> 转换为 IQueryable<Base> 吗?

c# - .NET CORE 2.1- 如何返回不属于 DefaultChallengeScheme 的挑战

.net - 在 C++/CLI 中实现常量引用的最佳实践

c - C中 "referencing"和 "dereferencing"的含义