Question: > 
> **Possible Duplicate:**  
> 
> [Is the ternary operator evil?](https://softwareengineering.stackexchange.com/questions/28314/is-the-ternary-operator-evil) 
> 
> 
> 

Does using shorthand if else statments hurt readability?

Compare:

```
string name = street != null ? street.Owner : "Not known";

```

With:

```
string name;

if(street != null)
{
    name =  street.Owner;
}
else
{
    name = "Not known";
}

```

I have become familiar enough with the shorthand that its just as readable for short statements as the long version. Is that true for most developers or should I favor the more verbose version

Answer: 
What you are referring to is a ternary operator. In my opinion it can increase readability for simplistic conditional checks like the one in your question. It's short and provides a clear and obvious pair of return values. Nesting them hurts readability. While not quite a duplicate question the "hurts" is clearly demonstrated in [THIS](https://softwareengineering.stackexchange.com/questions/28314/is-the-ternary-operator-evil) question. 

Code from that question:

```
int median(int a, int b, int c) {
    return (a<b) ? (b<c) ? b : (a<c) ? c : a : (a<c) ? a : (b<c) ? c : b;
}

```
It's readable as long as you don't abuse it by using complicated boolean logic or using too much logic.

Example:

```
string name = street != null & street.Length > 0 ? GetNumber(street) + " " + street + " " + GetOwner(street) : Properties.Resources.UnknownStreet;

```