2015-10-14 39 views
-5

我也需要添加2個隨機數,存儲在一個int變量和不同的方法中。請問最簡單最簡單的方法是什麼?C# - 如何從一個不同的方法獲得變量?

謝謝!

public void generateNumbers() 
     { 
      Random rand = new Random(); 
      int randomNumber = rand.Next(1, 11); 
      int randomNumber2 = rand.Next(1, 11); 
      Console.WriteLine("Number1: " + randomNumber); 
      Console.WriteLine("Number2: " + randomNumber2); 
     } 

     public int findSum() 
     { 
      //sum = randomNumber + randomNumber2 //gets sum from the method generateNumbers() 
      return sum; 
     } 
+0

製作'randomNumber'和'randomNumber2'一流水平的變量 –

+0

其範圍更改爲更普遍的一個或它們作爲參數傳遞。 –

+0

閱讀編程教程或查看幾乎所有可用的應用程序代碼(但很簡單)。關閉是非常多的編程101,而不是你研究,試用的問題,再次查找重複的問題,仍然無法修復 - 但是**完全**你需要做的事**在你問這裏之前,請參閱http ://stackoverflow.com/help/how-to-ask –

回答

0

你可以讓它們成爲包含這兩個方法的類的實例變量。這樣,它們可以被類的所有方法訪問,並且在對這些方法的調用之間保留了值。

class ContainingClass 
{ 
    int randomNumber; 
    int randomNumber2; 

    public void generateNumbers() 
    { 
     Random rand = new Random(); 
     randomNumber = rand.Next(1, 11); 
     randomNumber2 = rand.Next(1, 11); 
     Console.WriteLine("Number1: " + randomNumber); 
     Console.WriteLine("Number2: " + randomNumber2); 
    } 

    public int findSum() 
    { 
     return randomNumber + randomNumber2; //gets sum from the method generateNumbers() 
    } 
} 
+0

謝謝,我確實瞭解int現在在方法和外部工作:) – HurpaDerpa

0

你可以使用一個Tuple傳遞方法之間的兩個值,如下面的(C〜6)的代碼顯示:

public Tuple<int, int> GenerateNumbers() 
{ 
    var rand = new Random(); 
    return Tuple.Create(rand.Next(1, 11), rand.Next(1, 11)); 
} 

public int FindSum(Tuple<int, int> numbers) => numbers.Item1 + numbers.Item2; 
0

嘗試這種情況:

namespace ConsoleApplication4 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Processor proc = new Processor(); 
      proc.generateNumbers(); 
     } 
    } 
} 

這裏是處理器類 使用系統;

namespace ConsoleApplication4 
{ 
    public class Processor 
    { 
     public void generateNumbers() 
     { 
      Random rand = new Random(); 
      AddModel addModel = findSum(rand); 
      Console.WriteLine("Number1: " + addModel.Left); 
      Console.WriteLine("Number2: " + addModel.Right); 
      Console.WriteLine("Sum: " + addModel.Sum); 
     } 

     private AddModel findSum(Random rand) 
     { 
      AddModel addModel = new AddModel(); 
      addModel.Left = rand.Next(1, 11); 
      addModel.Right = rand.Next(1, 11); 
      addModel.Sum = addModel.Left + addModel.Right; 
      return addModel; 
     } 
    } 
} 

這裏是附加模型類

namespace ConsoleApplication4 
{ 
    public class AddModel 
    { 
     public int Left { get; set; } 
     public int Right { get; set; } 
     public int Sum { get; set; } 
    } 
} 
相關問題