In C# an int or float value of 0 or 0.0 is not implicitly casted to "false" like in other languages. You have to test is manually for inequality like this:
if (horMovement != 0.0f)
On the other hand this if statement is kinda useless. Ok it doesn't call the Translate fucntion, but the result is the same. If horMovement is 0.0f Translate will be called with the zero-vector which results in "no movement".