C#类-基本示例
这基本上是我第一次尝试理解C#中的类。我已经在互联网上阅读了好几篇教程,但我最想念的是一个简单的好例子,我在任何地方都没有找到 我对我的基本课程有一些想法,我非常感谢您的帮助:C#类-基本示例,c#,class,C#,Class,这基本上是我第一次尝试理解C#中的类。我已经在互联网上阅读了好几篇教程,但我最想念的是一个简单的好例子,我在任何地方都没有找到 我对我的基本课程有一些想法,我非常感谢您的帮助: using System; namespace Introduction_to_classes { class Person { int Age; string Name; int DateOfBirth() {
using System;
namespace Introduction_to_classes
{
class Person
{
int Age;
string Name;
int DateOfBirth()
{
return 2013 - Age;
}
}
class Program
{
public static void Main()
{
Person Mother = new Person(35, Alice);
Person Son = new Person(12, Johny);
Mother.Name = "Lucy"; // Just changing the value afterwards
if(Mother.Age > Son.Age)
{
int year = Mother.DateOfBirth();
Console.WriteLine("Mom was born in {0}.", year);
}
Console.ReadLine();
}
}
}
这只是个想法,肯定行不通。但最重要的是,如果你能把它改成工作示例,它将帮助我
class Person
{
public int Age { get; set; }
public string Name { get; set; }
public Person(int age, string name)
{
Age = age;
Name = name;
}
public int DateOfBirth()
{
return 2013 - Age;
}
}
class Program
{
public static void Main()
{
Person Mother = new Person(35, "Alice");
Person Son = new Person(12, "Johny");
Mother.Name = "Lucy"; // Just changing the value afterwards
if (Mother.Age > Son.Age)
{
int year = Mother.DateOfBirth();
Console.WriteLine("Mom was born in {0}.", year);
}
}
}
一些有用的链接:,问题是您所指的构造函数不存在:
Person Mother = new Person(35, Alice);
这里的第一个参数是int
,据我所知,第二个参数应该是字符串。但是字符串文字应该用双引号标记,因此该行应该是:
Person Mother = new Person(35, "Alice");
下一行也一样
现在您可能需要一个接受这些参数类型的构造函数,并希望将这些值保存到新对象,我假设。因此,在您的Person
类中添加以下内容:
public Person(int a, string n)
{
this.Age = a;
this.Name = n;
}
最后,您应该通过将字段标记为internal
或public
,使另一个类可以访问您的Age
和Name
字段:
public int Age;
public string Name;
在那之后,你就可以开始了。首先:新人(35,“Alice”)
意味着类人
定义了一个构造函数公众人物(int-age,string-name)
。或者,您必须调用newperson(){Age=35,Name=“Alice”}
,只要您没有定义构造函数,或者定义了一个接受0个参数的构造函数,例如public Person()
(注意我如何放置“Alice”)在引号内?这是因为您没有定义名为Alice
的字符串,所以Alice
是未知对象)
接下来我们有Mother.Name=“Lucy”
,这不起作用,因为Name
是不可发现的。类人员
确实定义了一个名称
,但由于您没有指定访问修饰符,例如公共
或私有
,类程序
甚至不知道它存在,因此无法访问它。因此,您必须使用公共字符串名
,而不是字符串名
。始终指定访问修饰符也被认为是很好的样式。这同样适用于public int Age
和public int dateof birth()
要了解有关访问修饰符的更多信息,请参考当前形式的,此问题不好,可能会被关闭。请关注您遇到问题的特定内容。您应该询问您遇到的特定编译错误,但不知道如何修复。公开个人的成员
;将圆括号更改为卷曲,并在创建实例时命名成员。你完成了。我发布了答案。@ShadowWizard我根本不理解类的概念。我知道,对我来说,理解基础知识的最好方法就是看到我的作品的修改。我很抱歉,如果这不符合这个网站的期望…我可能是错的,但我不'认为'你可以初始化字段的方式。我认为它们必须是财产。但是如果我错了,请有人纠正我。@BrandonMoore您可以初始化字段,只是您通常不应该首先使用公共字段。毫无疑问。我也编译了代码。@BrandonMoore您可以这样初始化字段,但前提是您没有定义任何构造函数,或者定义了一个接受0个参数的构造函数。你只能这样初始化公共或内部字段(我想)@KenKin你的回答帮助了我,谢谢。我已经尽力了,但作为一个初学者,我确实在简单的事情上遇到了麻烦……除了DatOfBirth
方法和两个字段都是私有的。@juharr我不确定C的默认修饰符是什么,因为我总是显式地指定它们,但我认为它是内部的,而不是私有的。在这种情况下,internal
应该可以。如果它在类之外,那么它是内部的,在类内部则是私有的@朱哈+1,你完全正确。我已经编辑了我的答案来包含这个。我愿意为这样的帮助付费!:-)非常感谢。
public int Age;
public string Name;