gpt4 book ai didi

c# - 当您从 C# 中的结构返回 "this"时会发生什么?

转载 作者:行者123 更新时间:2023-11-30 18:53:19 24 4
gpt4 key购买 nike

很好奇,当您从 C# 中的结构返回关键字 this 时会发生什么?

例如:

public struct MyStruct 
{
// ... some constructors and properties 1-3

public MyStruct Copy()
{
return MyStruct(Property1, Property2, Property3);
}

// vs

public MyStruct This()
{
return this;
}
}

最佳答案

它返回值的独立副本。换句话说:

MyStruct x = new MyStruct();
y = x;

就像

MyStruct x = new MyStruct();
y = x.This();

这真的很没有意义。

请记住,“值”基本上是“构成与结构中字段相关的所有内容的位”。如果这些字段是引用,将复制引用值(不是它们引用的对象)。如果它们是其他值类型,则只会复制这些值。


奇怪的事实:在结构中,您可以重新分配 this:

this = new MyStruct();

请不要那样做:)

关于c# - 当您从 C# 中的结构返回 "this"时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1376012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com