我在学习C#时一直在关注研讨会。
其中一个课程练习是创建一个程序,将你的名字输出到控制台。
我已经开发了这个。
我的问题是......是否正在将其他课程纳入主课程中?我想在开始养成习惯之前我会问!我应该创建一个单独的类,因为我想将它扩展为实际的项目吗?
class Exercise1
{
static void Main()
{
Character myCharacter = new Character();
myCharacter.name = "tekaC";
Console.WriteLine("Hello {0}!", myCharacter.name); //Prints the character's name into the Console output
}
}
class Character
{
public string name;
}
答案 0 :(得分:6)
目前尚不清楚你的意思是:
后者几乎总是一个坏主意 - 类Foo
应该几乎总是在Foo.cs
中声明,以便于查找。这里有 例外 - 例如,在Noda Time中我在一个名为Delegates.cs
的文件中声明了几个委托,但这是一个特殊情况 - 没有涉及代码,一旦你知道如果你想找到任何代表,你可以查看Delegates.cs
,没关系。
如果使用得当,嵌套类很好 - 但我会默认来创建新的顶级类。我很少使用嵌套类,除非它们意味着只是 包含类感兴趣的实现细节。我通常将它们设为私有,正是因为这个原因 - 没有项目中的其余代码需要了解它们。
关于您当前代码的另一点:您有一个公共字段,这通常是不良的封装。您应该使用属性,以便隐藏实现细节。您可能希望为Character
类提供一个构造函数,该构造函数在构造时也采用名称 - 然后您可以创建基础字段readonly
。例如:
// You may not want it to be internal, and you may not want it to be sealed -
// but you should think about both decisions.
internal sealed class Character
{
private readonly string name;
internal Character(string name)
{
if (name == null)
{
throw new ArgumentNullException("name");
}
this.name = name;
}
internal string Name { get { return name; } }
}
答案 1 :(得分:0)
你根本没有把课程放在另一个班级!你刚刚在同一个文件中放了两个类,这实际上是个人偏好。 (我有一些文件有5-6个相互关联的类编辑:omg Jon Skeet不同意我哦noez!:))。
因此,在您的示例中,您有2个类。
答案 2 :(得分:0)
你的意思是这两个类在一个文件中吗?
每个文件一个类通常被认为是这样做的方式,并且在某些语言中是必要的。