小编mr *_*fat的帖子

定义一个具有相同类字段的类。带有自我引用的类?

您可以定义一个具有属于该类的成员字段的类,这似乎很奇怪。

public class Person
{
    public string Name { get; set; }
    public Person Spouse { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我调用该类:

var jane = new Person();
var jim = new Person();
jane.Spouse = jim;
jim.Spouse.Spouse = jane;
Run Code Online (Sandbox Code Playgroud)

最后一行会导致错误。但我在想象 jim.Spouse.Spouse 调用正在做什么时遇到了一些麻烦。它应该首先评估 jim.spouse ,它为空,所以它会导致错误,对吗?如果我首先断言 jim.Spouse = jane 那么它应该起作用吗?但我本质上是说 jane.spouse = jane.

如果一个类有一个相同类型的字段,那么它对该类做了什么?它只是允许类的两个实例建立关系吗?该类引用自身,因此它继承自自身?我有点困惑,也想知道这是否是不好的做法。

c# class self-reference

1
推荐指数
1
解决办法
1665
查看次数

标签 统计

c# ×1

class ×1

self-reference ×1