我正在嘗試為私人成員年齡的公共財產制定一個二傳手。它的操作是,如果您嘗試輸入的年齡小于零,程式應將其設定為零并為您提供基本訊息。然而,這個二傳手實際上會讓任何負數從它身邊溜走。如果您嘗試在建構式中對其進行編輯,則 setter 甚至不會激活。但是,如果您創建年齡類的實體而不是嘗試編輯該實體類,則可以。但是,它會讓小于零的數字通過,并發送訊息“可行”,這意味著它是一個可行的數字。這是年齡成員、屬性、建構式等所在的 Person 類。
namespace HopeThisWorks
{
class Person
{
private int age;
public int Age
{
get
{
return age;
}
set
{
if(age >= 0)
{
age = value;
System.Console.WriteLine("Viable");
}
else
{
age = 0;
System.Console.WriteLine("Not Viable");
}
}
}
public Person(int age)
{
this.age = age;
}
}
}
下面是主要方法:
using System;
namespace HopeThisWorks
{
class Program
{
static void Main(string[] args)
{
Person p1 = new Person(1);
p1.Age = -1;
}
}
}
任何幫助將不勝感激。謝謝!
uj5u.com熱心網友回復:
這是作業的事情
using System;
public class Program
{
public static void Main()
{
var p = new Person(-5);
}
}
class Person
{
private int _age;
public int Age
{
get {return _age;}
set
{
if (value >= 0)
{
_age = value;
System.Console.WriteLine("Viable");
}
else
{
_age = 0;
System.Console.WriteLine("Not Viable");
}
}
}
public Person(int age)
{
Age = age;
}
}
在這種情況下,結果將被Not Viable列印出來。
解釋在馬克的評論中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/367634.html
上一篇:ASP.NETCore-嘗試創建按ID洗掉多條記錄的端點
下一篇:如何從另一個類C#呼叫變數名
