带有等号的 C# 订单下达
本文关键字:单下达 | 更新日期: 2023-09-27 17:56:08
想知道两者之间是否有区别:
public Bee (double weight)
{
this.weight = weight;
和
public Bee (double weight)
{
weight = this.weight;
如果您切换等号"="符号的左右,它会改变含义吗?
是的。意思肯定会改变。一个将weight
的值分配给this.weight
,另一个将this.weight
的值分配给weight
。
后者将分配存储在类weight
字段中的值,并将其分配给传递给方法的weight
参数。
前者将适得其反。
基本上,this.weight
是指类的weight
字段,其中weight
是指方法的参数。如果方法范围内没有weight
变量,您仍然可以使用 weight
来引用类字段。
是的。this
关键字指示变量是类实例变量。如果没有 this
关键字,将使用本地权重参数。
下面的示例将传递到构造函数的参数分配给同名的类实例变量。
示例类:
public class Bee
{
double weight;
public Bee(double weight)
{
this.weight = weight;
}
}
在 C# 中,单个=
是赋值运算符 - 它将右侧表达式的值分配给左侧的变量。既然如此,顺序当然很重要。
如果您正在寻找逻辑相等比较,则可以使用 ==
运算符 - 当然,在您提供的代码中这样做毫无意义:语句将返回 true
或 false
作为其结果,然后您需要分配该结果或对其进行其他有用的操作。
是的。他们是不同的。 this.weight
引用类上的属性或变量,weight
引用方法中的参数。
让我们举个例子:
public class Bee
{
private double weight;
public Bee (double weight)
{
this.weight = weight;
}
}
如果我想更改函数中的参数权重,我可以这样做:
public class Bee
{
private double weight;
public Bee (double initialWeight)
{
this.weight = initialWeight;
}
}
如果我想更改内部变量权重,我会这样做:
public class Bee
{
private double internalWeight;
public Bee (double weight)
{
this.internalWeight = weight;
}
}
如您所见,任何更改都使此处发生的事情更加清晰,它还可以帮助您了解每个呼叫的设置内容。