gpt4 book ai didi

c# - WriteLine 类

转载 作者:行者123 更新时间:2023-11-30 19:28:34 25 4
gpt4 key购买 nike

我正在制作一个 SchoolApp 程序来学习 C#,我有一个我正在努力实现的主要功能:

namespace SchoolApp
{
class Program
{
public static void Main(string[] args)
{
School sch = new School("Local School");
sch.AddStudent(new Student { Name = "James", Age = 22 }); // this function
sch.AddStudent(new Student { Name = "Jane", Age = 23 });
Console.WriteLine(sch); // this implementation
}
}
}

学校类(class):

namespace SchoolApp
{
class School
{
public string name;

public School()
{
}

public School(string the_name)
{
name = the_name;
}

public void AddStudent(Student student)
{

}
}
}

学生类(class):命名空间 SchoolApp

{
class Student
{
public int Age;
public string Name;
public Student()
{
Age = 0;
Name = "NONAME";
}

public string _name
{
get
{
return this.Name;
}
set
{
Name = value;
}
}
public int _age
{
get
{
return this.Age;
}
set
{
Age = value;
}
}

}
}

我是 C# 的新手,对于应该如何制作 AddStudent 以及如何使用 WriteLine 来编写类(class),我感到非常迷茫。输出应遵循以下几行:

学校:本地学校詹姆斯,22 岁简,23 岁

有人建议使用 List<> 我遇到了同样的问题,就是对它了解不够。

编辑:感谢大家非常快速的回答。我得到它的工作,现在将深入阅读答案,这样我就不必再问相关问题了!

最佳答案

Console.WriteLine(t) 执行 t 到字符串的隐式转换。因此,您需要为所有类重写 ToString() 或从您的类显式创建字符串。

例子:

class School
{
public string name;
List<Student> Students = new List<Student>();

...
public override string ToString()
{
var stringValue = name;
foreach(var student in Students)
{
stringValue += student.ToString();
}
return stringValue;
}
}

class Student
{
public int Age;
public string Name;
...
public override string ToString()
{
return string.Format("{0} {1}", Name, Age);
}

}

关于c# - WriteLine 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15052761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com