Just to be clear - declaring a method synchronized in Java requires that the caller holds the monitor on the object that the method was called on (which is the Class
object for static methods).
So saying you can "lock a method" is misleading as you don't wholly lock that method (the same method can still be called on different instance objects), and you lock more than that method (no other bit of code that requires the target object's monitor, including other synchronized methods or explicit acquires of it, can run at the same time).
Synchronization is hard, and ideally you need to know more than "a few things" about it if you want to avoid deadlocks and visibility issues that almost never appear during testing, or are conducive to debugging. Taking a possibly incomplete understanding of synchronization in one language, and trying to carry it over to another language with different primitives and likely a different memory model is a recipe for disaster.
So while this isn't the one-liner answer you were looking for, I'm going to assert that any one-liner answer is doomed to fail without the knowledge of the whole ecosystem to back it up. Thus you should read a good book/tutorial on synchronization in C#, rather than trying to translate your Java experience keyword by keyword.