在面向对象的开发中,通常使用{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; }
语法来修改现有对象的属性:
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;
}
get和set是方法。。。。在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
}