In Java when we use == operator in the context of strings we actually compare references not values (if I understand it correctly). Because of that it's strongly recommend to use equals method.
Is the situation in C# analogous to Java? Should I avoid comparing strings with == operator? How to do strings comparsion properly? What is the catch and in what situations I can get something I didn't expect?