注册 登录
编程论坛 C# 论坛

超级小白的问题

fight281 发布于 2019-11-02 00:23, 1886 次点击
最近刚学习C#,学习资料里有一段代码,不太理解,还请前辈指点一下。代码如下:
using System;
public class ConstTest
{
    class SampleClass
    {
        public int x;
        public int y;
        public const int c1 = 5;
        public const int c2 = c1 + 5;

        public SampleClass(int p1, int p2)
        {
            x = p1;
            y = p2;
        }
    }

    static void Main()
    {
        SampleClass mC = new SampleClass(11, 22);
        Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y);
        Console.WriteLine("c1 = {0}, c2 = {1}",
                          SampleClass.c1, SampleClass.c2);
    }
}
问题1:这个SampleClass类中可以嵌套相同名称的方法吗?
问题2:main函数中的实例化不是应该从最外层的类开始吗?例如ConstTest.mC = new ConstTest(); 然后在用ConstTest.SampleClass进行操作吗?
1 回复
#2
zbjzbj2019-11-07 19:11
你的问题1,建议你读一下C++教程中关于类的章节,着重看一下类的构造函数。
问题2,类似ConstTest.SampleClass印象中只适用于类中静态成员的引用。否则应以类的实例名称来引用。对于本例 mC = new ConstTest()后,类的实例已经初始化完成,你看一下,已经不存在未知成员。
1