[英]C# - How can I call a variable in a method from another in the same class
public class MathProblem
{
public virtual void setproblem()
{
Random random = new Random();
int num1 = random.Next(100);
int num2 = random.Next(100);
int sum = num1 + num2;
}
public virtual void askuserforanswer()
{
int answer;
Console.WriteLine("Enter your answer");
answer = Convert.ToInt32(Console.ReadLine());
}
public virtual void displayproblem()
{
Console.WriteLine( num1.ToString() + " + " + num2.ToString() + " = ?");
}
}
我想打電話給NUM1和NUM2從setproblem方法displayproblem方法。 而且我不知道該怎么做。
請幫助...
你不能 在方法內部聲明的變量僅在該方法內部可用。 為了能夠在整個課程中使用它們,您必須在課程級別聲明它們:
public class MathProblem
{
private Random random = new Random();
private int num1, num2, sum;
public virtual void SetProblem()
{
num1 = random.Next(100);
num2 = random.Next(100);
sum = num1 + num2;
}
public virtual void AskUserForAnswer()
{
int answer;
Console.WriteLine("Enter your answer");
answer = Convert.ToInt32(Console.ReadLine());
}
public virtual void DisplayProblem()
{
Console.WriteLine( num1.ToString() + " + " + num2.ToString() + " = ?");
}
}
您必須使用字段。
public class MathProblem
{
int num1;
int num2;
public virtual void setproblem()
{
Random random = new Random();
num1 = random.Next(100);
num2 = random.Next(100);
int sum = num1 + num2;
}
public virtual void askuserforanswer()
{
int answer;
Console.WriteLine("Enter your answer");
answer = Convert.ToInt32(Console.ReadLine());
}
public virtual void displayproblem()
{
Console.WriteLine( num1.ToString() + " + " + num2.ToString() + " = ?");
}
}
您可以在類級別使用字段:
public class MathProblem
{
int num1;
int num2;
... rest of code unchanged
}
如果您在課外需要這些,則可以使用以下屬性:
public class MathProblem
{
public int num1 { get; private set;}
public int num2 { get; private set;}
... rest of code unchanged
}
或者,如果您希望能夠從課堂之外進行設置:
public class MathProblem
{
public int num1 { get; set;}
public int num2 { get; set;}
... rest of code unchanged
}
還有一些提示:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.