c# - 包含两个类的文件中的 StackOverFlowException

标签 c#

以下代码生成 StackOverFlowException。问题是为什么?在我看来它是合法的...

using System;

namespace learning
{

    public class TestClass
    {
        private String name;

        public String Name
        {
            get => Name;
            set => name = value;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {

            TestClass e = new TestClass();
            Console.WriteLine(e.Name);

        }
    }
}

我尝试删除命名空间 learning {...} 但它没有改变任何东西。

最佳答案

您的属性(property)自行归还:

public String Name
{
    get => Name;
    set => name = value;
}

相反,它应该返回字段 name(区分大小写):

public String Name
{
    get => name;
    set => name = value;
}

关于c# - 包含两个类的文件中的 StackOverFlowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53030908/

相关文章:

c# - 从 ASP.Net C# 应用程序性能问题运行 SQL 脚本

c# - 在 Silverlight 中,UserControl_Loaded 和 Page_Loaded 有什么区别?

c# - 位图线程安全只读吗?

c# - 如何按名称对 XML 元素进行排序

c# - 优雅地传递列表和对象作为参数

c# - 如何使用包含相同元素/类的 different.xsd 命名空间?

C# 自定义 Invoke 方法调用各种其他方法

c# - 为什么 FindMimeFromData 可以识别一台主机上的图像/tiff,但不能识别另一台主机上的图像/tiff?

c# - 如何以编程方式关闭 Windows 10 应用程序上的打印 UI?

c# - 在 C# (VTSO) 中将 Excel FitToPagesWide 设置为 "Automatic"