I'd like to do a single line if statement with more than 1 action.
Default is this:
(if) ? then : else
userType = (user.Type == 0) ? "Admin" : "User";
But I don't need an "else" only, I need an "else if"
like that in multi line:
if (user.Type == 0)
userType = "Admin"
else if (user.Type == 1)
userType = "User"
else if (user.Type == 2)
userType = "Employee"
Is there a possibility for that in single line?
Sounds like you really want a
Dictionary<int, string>
or possibly aswitch
statement...You can do it with the conditional operator though:
While you could put that in one line, I'd strongly urge you not to.
I would normally only do this for different conditions though - not just several different possible values, which is better handled in a map.
You can write that in single line, but it's not something that someone would be able to read. Keep it like you already wrote it, it's already beautiful by itself.
If you have too much
if/else
constructs, you may think about using of different datastructures, likeDictionaries
(to look up keys) orCollection
(to run conditionalLINQ
queries on it)should do the trick.