2016-12-19 92 views
-3
private string ffNameProbability() 
{ 
    int rng = rand.Next(6); 
    if (rng == 1) 
    { 
     if (ffAName().Contains('a') == true) 
     { 
      return ffAName(); 
     } 
     else 
     { 
     } 
    } 
} 

我想要做的是返回ffAName()只有当rng == 1,如果ffAName()包含字母A。我是否错过了真正明显的东西?我真的很陌生。如何在if语句中使用if语句来返回字符串?

+3

不管这是什么,这不是C++。 –

+1

当提问时,它有助于标记正确的语言...... – Borgleader

+0

@SMeaden oops,我想这是C#。我不是抽屉里最锋利的刀... –

回答

0

假设ffAName()是一种返回字符串的方法,语法上唯一错误的是ffNameProbability()不会返回,如果您没有击中if条件。

所以,你可以这样做:

private string ffNameProbability() 
{ 
    int rng = rand.Next(6); 


    if (rng == 1 && ffAName().Contains('a)) //combined these conditions - not necessary, just cleaner (I think) 
    { 
     return ffAName(); 
    } 

    return null; //only hits if above is false. 
} 

它返回要么ffaName()null,取决于rng值。

+0

哦,我的天啊,非常感谢。这样做了〜 –

+0

@MikailKraft不客气。如果您正在学习C#,请记住,您的方法必须始终能够返回一个值(除非它是“void”)。如果你使用Visual Studio,你应该得到编译器警告。 – levelonehuman

+1

@Mikhail:如果解决了问题,请通过接受他/她的回答给予levelonehuman积分。 –

0
//this will check 'A' or 'a' 

    if(ffAName().IndexOf("a", StringComparison.OrdinalIgnoreCase) >= 0 && 
rng == 1) 
     { 
      return ffAName(); 
     } 
+0

我已经了解&&!谢谢! –