.net 法典第二段中的“这个”指的是什么?

kmynzznz  于 2023-10-21  发布在  .NET
关注(0)|答案(1)|浏览(92)

在这个代码片段中,this.Var1表示10,这是非常明显的。

class MyClass
{
int Var1 = 10;
public int ReturnMaxSum(int Var1)

  {    
   return Var1 > this.Var1
   ? Var1 
   : this.Var1;
  }
}

class Program
{
static void Main()
  {
    MyClass me = new MyClass ();
    Console.WriteLine($"Max: { mc.ReturnMaxSum(30) }");
    Console.WriteLine($"Max: { mc.ReturnMaxSum(S) }");
  }
 }

二段

  • 如果当前对象小于参数对象,则为负值;
  • 如果当前对象大于参数对象,则为正值;
  • 如果两个对象在比较时相等,则为零。

这里有一个问题:当前对象是什么?TheValue还没有被赋予初始值,那么如何将它与输入参数mc.Value进行比较呢?

class MyClass;IComparable
{
public int TheValue;
public int CompareTo(object obj) 
 {
   MyClass mc= (MyClass)obj;
   if (this.TheValue < mc.TheValue) return -1;
   if (this.TheValue > mc.TheValue) return 1;
   return 0;
  }
}
7lrncoxx

7lrncoxx1#

如果一个字段没有被赋值,它将被初始化为一个默认值,对于所有整数类型,该值为0
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/default-values

相关问题