2015-01-06 11 views
0

我第一次学习c#,并且很努力地理解如何在控制台读出中调用整数数组方法。我使用角色扮演游戏作为设计路线图,并且在我尝试调用要通过控制台报告的课程统计信息之前,情况一直很好。在调用整数数组方法时获取以下内容:索引(从零开始)必须为

我从这个块中提取数据:

public static int Stats(int[] stats) { 
     int str, intel, dex; 

     str = 1 * LevelUp(); 
     intel = 3 * (LevelUp()/2); 
     dex = 2 * (LevelUp()/3); 

     stats[0] = str; 
     stats[1] = intel; 
     stats[2] = dex; 
     return stats[2]; 
    } 

但我在下面的控制台读取该标题匹配接收到错误。

public void HeroStateManager() { 
     Mage mage = new Mage(); 
     Console.ReadLine(); 
     if (HeroClass() == "Mage") { 
      int[] stats = {0,1,2}; 
      Console.WriteLine("You have the following stats:"); 
      Console.WriteLine("Intel: {0}", Mage.Stats(stats)); 
      Console.WriteLine("Str:  {1}", Mage.Stats(stats)); 
      Console.WriteLine("Dex:  {2}", Mage.Stats(stats)); 
     } 
    } 

我在做什么错?

回答

0

改变你这样的Stats()方法:

public static int[] Stats(int[] stats) 
{ 
    int str, intel, dex; 

    str = 1 * LevelUp(); 
    intel = 3 * (LevelUp()/2); 
    dex = 2 * (LevelUp()/3); 

    stats[0] = str; 
    stats[1] = intel; 
    stats[2] = dex; 
    return stats; 
} 

你甚至都不需要任何回报,因为int[]是引用类型,但返回改变数组可以允许一些流利的代码。

然后换另一方法是这样的:

public void HeroStateManager() 
{ 
    Mage mage = new Mage(); 
    // Console.ReadLine(); what was this? pausing for debugging? 

    if (HeroClass() == "Mage") 
    { 
     int[] stats = new int[3]; 
     Mage.Stats(stats); 

     Console.WriteLine("You have the following stats:"); 
     Console.WriteLine("Intel: {0}", stats[0]); 
     Console.WriteLine("Str:  {0}", stats[1]); 
     Console.WriteLine("Dex:  {0}", stats[2]); 
    } 
} 
+0

我没有彻底读过这个问题。答案现在好多了。 –

+0

你是圣人!这工作正是我的意图。你可能花时间向我解释在console.writeline之外声明Mage.Stats(stats)的区别吗?感觉就像是一样的东西,只是当我把两者并置时,它只是用不同的方言写成,具有相同的含义。 – SavvyK

+0

Mage.Stats()确实有效。为什么让电脑做三次相同的工作?调用该方法一次,结果在stats数组中。 –

1

它应该是:

 Console.WriteLine("Intel: {0}", Mage.Stats(stats)); 
     Console.WriteLine("Str:  {0}", Mage.Stats(stats)); 
     Console.WriteLine("Dex:  {0}", Mage.Stats(stats)); 
+0

这停止错误,但不显示在关系的整数。所有返回的值都是0,而不是写入的整数公式。 – SavvyK

相关问题