Search code examples
c#asp.netradiobuttonlist

shorthand syntax for a radiobuttonlist SelectedItem.Text only if one is selected?


Sorry, difficult to give the question a proper title?

I'm basically appending a lot of text together to form the email body in my application from several radiobuttonlists in my web form. So my code looks like this:

StringBuilder body = new StringBuilder();
body.Append("<strong>For question1: </strong>  " + ((rblQuestion1.SelectedIndex > -1) ?  rblQuestion1.SelectedItem.Text : "") + "<br /><br />");

So my question is do I have to use the following syntax:

((rblQuestion1.SelectedIndex > -1) ?  rblQuestion1.SelectedItem.Text : "")

Where what I really want is:

(rblQuestion1.SelectedIndex > -1) ?  rblQuestion1.SelectedItem.Text 

I don't need the empty string alternative if false, if you understand my point.

It's just me being a bit pedantic with my code really. Thanks in advance.


Solution

  • The only alternative I see when you per se need to check for

    rblQuestion1.SelectedIndex > -1
    

    is the following:

    if (rblQuestion1.SelectedIndex > -1)
      someStringVar = rblQuestion1.SelectedItem.Text;
    

    There is no other solution because conditional statements need to be formatted in the following pseudo-code:

    toBeAssigned = boolean expression ? assigner if true : assigner if false;