微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

定义我的类 X 时在类 X 中声明类型 X 的变量

如何解决定义我的类 X 时在类 X 中声明类型 X 的变量

我知道标题不清楚,但对不起我的英语我没有找到如何表述我的问题。所以我希望我能在下面进一步解释。

事实上,我正在阅读一段代码,其中用户在定义一个类(我们称之为 X)时,他声明了一个 X 表(在类定义中)。

来自 C++,这是不可能的,因为类型 X 在那个阶段是不完整的。

还有另一个问题:在ctor中,用户分配了10个元素,因此认为这可能是一个无限循环,因为对于X的每个实例,我们允许10个元素,但事实并非如此!

C# 是否允许这种行为?

//here we start the class deFinition
class X
{
    X[] Items = null;  // and here we declare a table of X elements ???

    public X()
    {
        Items = new X[10];  // and here we allocate 10 elements of X  ???
    }
}

解决方法

在 C# 中,类型不完整是没有问题的。

另一方面,我明白你所说的无限循环是什么意思。但事实也并非如此,因为只分配了数组(在C++中是指针数组),所以这些指针都是NULL,不调用默认构造函数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。