c# - 在同一类的构造函数中传递类的对象

标签 c#

如何使用 StudentId = 1 和 Name = "Alex"初始化这样的类

class Student
{
    public int StudentId { get; set; }
    public string Name { get; set; }

    public Student(Student student)
    {
        StudentId = student.StudentId;
        Name = student.Name;
    }
}
class Program
{
    static void Main(string[] args)
    {
        Student s = new Student()
    }
}

最佳答案

您可以添加另一个构造函数,您可以在其中手动提供值:

public Student(int id, string name)
{
    StudentId = id;
    Name = name;
}

您的初始代码不起作用的原因是,当您创建一个需要相同类型的另一个实例的对象时,依赖链会上升到无穷大,您永远无法找到起点。

有了手动构造函数,你可以手动创建一个起点,换句话说,一个初始对象,其他对象可以依赖。因此,您消除了无限依赖链。

关于c# - 在同一类的构造函数中传递类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47144586/

相关文章:

c# - 强制 C# 加载仅在 cshtml 文件中引用的程序集

c# - 模拟 Controller 上下文 asp 4.5

c# - 循环到 ListView 元素

c# - Asp.NET MVC REST API : How to get Client Host Name

c# - 将 lambda 表达式组合到属性路径

c# - XDocument + IEnumerable 导致 System.Xml.Linq.dll 内存不足异常

c# - C#获取窗口句柄

c# - 创建一个 Visual Studio WebTest/OrderedTest,针对不同的 XML 数据源运行相同的测试

c# - 如何在 Entity Framework 中编写此 SQL 查询?

c# - 在方法的参数和返回类型上使用不同的泛型类型