digitalmars.D.learn - Expression evaluation order in if statement
- Aarti_pl (19/19) Aug 23 2007 Hello!
- Lutger (4/13) Aug 23 2007 It's ok, see: http://www.digitalmars.com/d/expression.html#AndAndExpress...
- Aarti_pl (5/20) Aug 23 2007 Great.
- Frits van Bommel (6/26) Aug 23 2007 Also, for arrays "null" is just an empty array, so you don't need the
- Regan Heath (4/31) Aug 23 2007 If you're referring to me, I wasn't complaining about this behaviour at
Hello! Can I use if expression in following way, or is it an error?: void func(char[] str) { if (str !is null && str=="somestring") { ... some code ... } } or should I rather use: void func(char[] str) { if (str !is null) if (str=="somestring") { ... some code ... } } The second way is more explicit and makes code unreadable soon... I can find clear answer in docs... BR Marcin Kuszczak (Aarti_pl)
Aug 23 2007
Aarti_pl wrote:Hello! Can I use if expression in following way, or is it an error?: void func(char[] str) { if (str !is null && str=="somestring") { ... some code ... } }It's ok, see: http://www.digitalmars.com/d/expression.html#AndAndExpression "If the left operand, converted to type bool, evaluates to false, then the right operand is not evaluated."
Aug 23 2007
Lutger pisze:Aarti_pl wrote:Great. Thanks for advice! BR Aarti_plHello! Can I use if expression in following way, or is it an error?: void func(char[] str) { if (str !is null && str=="somestring") { ... some code ... } }It's ok, see: http://www.digitalmars.com/d/expression.html#AndAndExpression "If the left operand, converted to type bool, evaluates to false, then the right operand is not evaluated."
Aug 23 2007
Aarti_pl wrote:Lutger pisze:Also, for arrays "null" is just an empty array, so you don't need the first part: 'if (str == "something")' works just fine even if 'str' is null (unlike with classes). (A while back some people were complaining about this, but I don't think this behavior is likely to change)Aarti_pl wrote:Great. Thanks for advice!Hello! Can I use if expression in following way, or is it an error?: void func(char[] str) { if (str !is null && str=="somestring") { ... some code ... } }It's ok, see: http://www.digitalmars.com/d/expression.html#AndAndExpression "If the left operand, converted to type bool, evaluates to false, then the right operand is not evaluated."
Aug 23 2007
Frits van Bommel wrote:Aarti_pl wrote:If you're referring to me, I wasn't complaining about this behaviour at all, this behaviour is great, I hope it never changes. ReganLutger pisze:Also, for arrays "null" is just an empty array, so you don't need the first part: 'if (str == "something")' works just fine even if 'str' is null (unlike with classes). (A while back some people were complaining about this, but I don't think this behavior is likely to change)Aarti_pl wrote:Great. Thanks for advice!Hello! Can I use if expression in following way, or is it an error?: void func(char[] str) { if (str !is null && str=="somestring") { ... some code ... } }It's ok, see: http://www.digitalmars.com/d/expression.html#AndAndExpression "If the left operand, converted to type bool, evaluates to false, then the right operand is not evaluated."
Aug 23 2007