It depends on the taste or team in which you work.
variables never begin with a capital letter or number. You can use the underscore, which many developers prefer because all of their field members are grouped in a visual studio using intellisense.
private int _number; private int _Number;
Most of them prefer an underscore and an uppercase letter, because when you write the usual variable name, you use camelCaseNotation.
You would write like this:
private int number;
but since you use an underscore, the first char is an underscore, and the next char will be uppercase (see camelCaseNotation) for example:
private int _Number;
For properties, you simply capitalize them without prefixes:
public int Number { get; set; }
For parameters, you can use the same underscore prefix as field members if you like it:
private int _Number; public MyClass(int _Number) { this._Number = _Number; }
There is no right or wrong, just try following the language guidelines and adapt to the team you're working with. Discuss with your team what you will use, and they will all use the same thing, which makes the code much better to read.
On notation of m_ notation or Hungarian notation (sName, iNumber, ...), this is a bit "old", try to avoid this (most C / C ++ programmers use those that are new to C #).