C# 我可以在方法体中创建对结构实例的临时引用吗?

C# 我可以在方法体中创建对结构实例的临时引用吗?,c#,.net,C#,.net,我知道可以在方法中传递对结构的引用,例如 void method(ref MyStruct param) 但是我可以在方法体中为可读性别名一个结构吗?我有使用这个临时变量的代码: var properties = this.document.header.protocols[0].properties; 只有当我试图跟踪一个bug时,我才意识到这是因为它是一个结构而不是一个类,我是在创建一个副本而不是一个引用 是,支持以下功能: ref var properties = ref this.d

我知道可以在方法中传递对
结构的引用,例如

void method(ref MyStruct param)
但是我可以在方法体中为可读性别名一个结构吗?我有使用这个临时变量的代码:

var properties = this.document.header.protocols[0].properties;
只有当我试图跟踪一个bug时,我才意识到这是因为它是一个结构而不是一个类,我是在创建一个副本而不是一个引用

是,支持以下功能:

ref var properties = ref this.document.header.protocols[0].properties;

你可以为此使用和。它们可从C#7.0和C#7.0中获得。2@PavelAnikhouski很有趣,但我不想修改数据类型本身。虽然我认为这是一个有效的答案。这是否关心原始对象是引用还是值类型?“不能用值初始化by引用变量”-我相信我正在运行C#7.3、.Net framework 4.6.1;你的答案是否绝对正确(如果是的话,我还有其他问题!)@Mr.Boy请注意,你需要在作业的两边写上
ref
。您的错误通常是由于未在右侧包含
ref
。@Mr.Boy:它也适用于引用类型:
var a=“abc”;参考变量b=参考变量a;b=“def”;控制台写入线(a)打印
“def”