簡體   English   中英

如何從int取值? C#

[英]How to take away a value from an int? C#

問題出在第3行上,我需要帶走1-3之間的數字並保存值,以便可以帶走更多的數字。

Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = life - randomNumberhit;
Console.WriteLine(life);

有任何想法嗎? 我做錯了嗎?

您要聲明變量life並為其分配一個life - randomhit值。 如果life還沒有價值,您如何知道計算結果?

嘗試這樣的事情:

int life = 100;
...
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
life = life - randomNumberhit;
Console.WriteLine(life);

但是,您可能要使life類變量可變。 這樣的事情會起作用:

public class MyGuy
{

    public int Life { get; set; }

    public MyGuy()
    {
        this.Life = 100; // starting life
    }

    public void Hit()
    {
        Random randomhit = new Random();
        int randomNumberhit = randomhit.Next(1, 4);
        this.Life -= randomNumberhit;
        Console.WriteLine(this.Life);
    }
}

生活需要激發一些東西

int life = 100; //Or some other value
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
life = life - randomNumberhit;
Console.WriteLine(life);

還要注意,當重新分配life = life - randomNumberhit;時( life = life - randomNumberhit; ),不需要int。

您正在執行life-randomNumberhit ,但那時您的可變life尚不存在。 您應該將life變量初始化為所需的任何值:

Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = 0; // for instance, 0
Console.WriteLine(life - randomNumberhit);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM