What does the ? function do in C#?

I have been looking for documentation on this for a bit, and have yet to really find anything satisfying. Here is an example line of code I have:

 speed = m_IsWalking ? m_WalkSpeed : m_RunSpeed;

I need to know what this function does so that I can manipulate the code to work with a stamina function. Any help would be greatly appreciated, thanks.