2015-10-14 104 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; } 
    } 
} 
相关问题