在没有函数或类语法的情况下使用C#方括号
我是C#的新手,找不到合适的搜索对象。我试图理解这三种语法之间的区别:在没有函数或类语法的情况下使用C#方括号,c#,syntax,C#,Syntax,我是C#的新手,找不到合适的搜索对象。我试图理解这三种语法之间的区别: 公共字符串主题(){} 公共类主题{} 公共字符串主题{} 我知道第一个是函数,第二个是类,但让我困惑的是第三个是什么 问题 什么叫#3,如何使用 任何能提供清晰的信息都可以。如果正确使用,第三个是属性。它基本上是一个内置getter和setter的变量 public string Topic {get; set;} 这将自动创建一个字符串变量,允许您通过Topic=“new Topic”直接设置或获取 允许公共访问读取该
公共字符串主题(){}
公共类主题{}
公共字符串主题{}
#3
,如何使用
任何能提供清晰的信息都可以。如果正确使用,第三个是属性。它基本上是一个内置getter和setter的变量
public string Topic {get; set;}
这将自动创建一个字符串变量,允许您通过Topic=“new Topic”直接设置或获取
允许公共访问读取该值,但只有本地类可以设置该值
通常,当需要比简单设置/获取更复杂时,它们会与另一个支持值一起使用:
string _topic;
public string Topic {
get { return _topic; }
set { _topic = value; }
}
第三种形式是属性函数。它住在一个班级里。例如:
public string MyProperty { get; set; }
要了解更多信息,您应该查看封装 第三个是C#中的一个属性。例如,您可以拥有一个属性很少的person对象(read类)。要获取和设置这些属性的值,可以使用这种语法
public class Person
{
private string _name = "";
public int Id { get; set; }
public string Name {
get{
return "Jonathan";
}
set{
this._name = value;
}
}
}
在这里,Person有两个属性,即Id和Name。Id的属性语法使用“自动属性”语法,这意味着有人可以像这样获取和设置此属性:
var person = new Person();
person.Id = "1";//set Id value
//Or get Id value like this
var personId = person.Id;
public string Topic { get; set; }
正在显式设置Name属性。当您请求时,将返回硬编码值“Jonathan”,设置时,将设置分配的任何值
您可以在此处阅读有关属性的更多信息
希望这有帮助。第三个是一个财产。C#中最常见的表示形式是自动生成的属性,如下所示:
var person = new Person();
person.Id = "1";//set Id value
//Or get Id value like this
var personId = person.Id;
public string Topic { get; set; }
这相当于:
private string _topic;
public string Topic
{
get { return _topic; }
set { _topic = value; }
}
它应该用来保存对象的内部状态
它可以是只读属性,并且只能使用getter:
public string Topic { get; }
或仅使用setter:
public string Topic { set; }
您还可以在getter和setter中应用可访问性修改器,例如:
public string Topic { protected get; private set; }
这是一个速记:
这是自动获取和设置的,这就是为什么它们被称为自动实现属性。下面定义的这两个属性是一个&相同
public class Constituent{
public string Name {get; set;} //This is a property,
public string Name //This is a property, The value can only be of type **string** because we've assigned it that datatype, which would also be the return type.
{
get { return _name; }
set { _name = value; }
}
}
您还可以在其上使用访问修饰符private、public和protected这将决定您是否可以获取并设置属性值
public string Name {get; private set; }
为了能够访问属性,您需要实例化类(组成部分)如何实例化的示例如下:
var constituent = new Constituent();
constituent.Name = "Jonathon"; //Setting the value of Name property.
var Member_Name = constituent.Name; //Storing a value into a variable
希望这对你有帮助 这是一个公共财产检查第一个例子。第三个是一个财产。它通常伴随着一个
get
块和一个set
块。value是一个关键字,或者我可以将其更改为我想要的任何名称吗?该值只能是string类型,因为我们已经为其分配了该数据类型,该数据类型也将是返回类型。它是一个关键字。