在面向对象的开发中,通常使用{get;set;}并与数组一起使用

本文关键字:set 数组 一起 get 开发 面向对象的 常使用 | 更新日期: 2023-09-27 17:58:32

我今天学习了以下语法

 protected String TaskTitle { get; set; }

如果我是正确的,这基本上可以转化为:

String _taskTitle;
protected String TaskTitle {
    get { return _taskTitlel }
    set { _taskTitle = value; }
}

我的问题是,我们现在如何将它与对象一起使用来设置和获取某些值?假设对象名为MyTest(String title),我如何将TaskTitle设置为等于传入的参数title?然后,我将如何利用这种{get; set;}语法而不是像.getTitle(..) .setTitle(..)这样的方法?

我知道这可能会越来越长,但我相信这个"子问题"属于这里,我可以将其用于数组吗?假设我有另一个名为MyTestTwo(String title, String description, int number);的对象,它继承了第一个对象,并且我希望有一个数组MyTestTwo[] { get; set; }作为MyTest()对象的一部分,我如何填充它?

我知道这可能是一个很大的问题,但我想理解这个{get;set;}语法,因为我对它和c#都是新手,所以到目前为止,文档对我来说有点困惑

您应该将属性public标记为在不派生当前类的类中"查看"它。

你可以这样设置:

yourInstance.TaskTitle = "test 123";

作为您第二个问题的答案:

您可以像通常使用变量时一样填充数组:

yourInstance.ArrayProperty = new string[1];
yourInstance.ArrayProperty[0] = "test 123";

在面向对象的开发中,通常使用{get;set;}并与数组一起使用

您可以使用类似的{ get; set; }语法来修改现有对象的属性:

myTest.TaskTitle = "A brand new title";

像这样从现有对象读取数据

string currentTitle = mytest.TaskTitle;

此外,您可以使用以下简写语法来初始化新对象:

MyTest myTest = new MyTest{ TaskTitle = "a new task"};

您可以使用其他一些简写语法来初始化ICollection数据结构,这里对此进行了很好的解释:http://msdn.microsoft.com/en-us/library/bb384062.aspx

在C#中,通过string a = class.TaskTitle;获取值或通过class.TaskTitle = "foo"设置来使用属性;

至于数组对象,请尝试以下操作:

 Foo foo = new Foo();
 foo.bar = new Bar[5];
 foo.bar[0] = new Bar();
 foo.bar[1] = new Bar();
 ...

之后,您可以通过与任何其他对象相同的语法访问Bar的属性:

foo.bar.SomeMethod();

或者,没有嵌套类:

Foo[] foo = new Foo[2];
foo[0] = new Foo();
foo[1] = new Foo(); 

我假设这是您的构造函数

   MyTest(String title)
{
TaskTitle=title;
}
Modifier returntype PropertyName
{
get;
set;
}

getset是方法。。。。在c中,我们使用它们是因为它们紧凑而简单。

或者您可以通过在类中单独创建来使用方法get和set。。。像

public returntype get()
{
return yourPrivateMember;//
}
public returntype set(type value)
{
yourPrivateMember=value;//in certain cases you dont want the user the mess your private variable and you can control how the user interacts with your private variables
}