我想打印價格在10到50歐元之間的所有產品。 我在main中創建了2個產品,我爲了進行驗證而調用了類Product中的方法。但是它每次都會給我else分支,「沒有產品」。我明白我做錯了什麼,我創建了一個來自類Product的對象引用,然後我調用該方法,但它給了我錯誤的輸出,因爲在該方法中,我創建了另一個對象,對於此對象,此價格爲0,因此它向我顯示了該事情。 但我該如何解決這個問題? 這裏有類: 產品類:如何解決C#中的空對象引用?
class Product
{
public int ProductId;
public string SKU;
public string Name;
public decimal Price;
public string Description;
public string Producer;
public virtual decimal GetPrice()
{
return Price;
}
public virtual String GetName()
{
return Name;
}
public void PrintPrice()
{
Product f = new Product();
if (f.GetPrice() > 10 && f.GetPrice() < 50)
Console.WriteLine("Product: {0}", f.GetName());
else
Console.WriteLine("No products priced between 10 and 50 lei.");
}
public Product() { }
主要的,我一直在創建對象:
static void Main(string[] args)
{
Product f = new Food(1, "green", "Papa", 15, "Good Quality", "Sana");
Product f1 = new Food(2, "white", "Papa1", 45, "Bad Quality", "Ariel");
f.PrintPrice();
f1.PrintPrice();
}
和我也有食品類,但它繼承只有產品類所以這裏沒有關係。所以我能做什麼?謝謝。
if .GetPrice()> 10 && this.GetPrice()<50),刪除f 宣言。 – Oscar
用'this'替換'f'。 –
@PatrickHofman完全刪除'f.'。 – DavidG