在一个类似于属性的方法中,变量的正确名称是什么
本文关键字:变量 是什么 方法 一个 类似于 属性 | 更新日期: 2023-09-27 18:21:37
我知道这是一个愚蠢的问题,但我一直在自学c#,所以我边学边学。
我的问题是:通常当我编写方法时,当我需要它们共享同一范围时,我会发现我的自声明对象和变量位于方法的顶部。这些类型的对象/变量有名称吗?我知道当在方法外部声明时,它们将是属性。
我的意思的示例代码:我的问题是如何称呼"问题"区域中的对象。
public Label start_Ping(String target, string name, ref bool router)
{
#region [ Question ]
Label status_Label = new Label(); //Declare the label which will be dynamically created
Ping ping = new System.Net.NetworkInformation.Ping(); //Declare the ping object
PingReply reply = null; //Declare the pingReply object
byte[] buffer = new byte[100]; //Set the byte size
#endregion
if (name == "router")
{
try
{
reply = ping.Send(target, 50, buffer);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
if (reply.Status == IPStatus.Success)
{
router = true;
}
else
{
router = false;
return null;
}
}
try
{
...
提前谢谢。我知道这可能很简单=)
在您的代码中,status_Label
、ping
、reply
和buffer
简称为局部变量。
也就是说,它们是您在其中创建它们的方法(或您在其中声明它们的任何范围)的本地。
顺便说一句,在方法中的位置声明它们并不重要,只要它们在某个范围内即可。
BoltClock是正确的,但为了将来的参考,在方法之外声明的变量不是属性。它们被称为成员变量。属性不同。
例如:
public class ExampleClass {
String myString = "Hello World!";
public String MyProperty {
get { return myString; }
set {
myString = value;
System.Console.WriteLine("MyProperty changed to " + value);
}
}
}
这里,myString是一个成员变量(或实例变量)。不能从类外访问它。
顾名思义,MyProperty是一个属性。它实际上是一种行为类似于变量的方法,但当其值被更改或访问时,它允许发生其他事情。在本例中,设置MyProperty将输出一条给出其新值的消息。
MSDN上有一些关于这方面的好文档。
希望这能有所帮助。
@BoltClock已经回答了您的问题;然而,我想指出的是,您的语句"当[变量]在方法外部声明时,它们将是属性"是不正确的。在方法外部声明的变量称为字段。属性通常与字段(持有值)具有类似的用途,但它们需要使用get
和set
访问器进行定义,并且可以包含逻辑,如验证或属性更改通知(字段不能)。
例如:
public class Router
{
private PingReply reply = null;
public PingReply Reply
{
get { return reply; }
set { reply = value; }
}
}
在这种情况下,reply
是一个字段,而Reply
是一个获取或设置reply
值的属性。