In my C# mode, M-b and M-f are bound to {backward,forward}-word.
But these things stop at underscores, which I use sometimes as a prefix on member variables.
You don't necessarily have to modify your syntax table. _
belongs to the syntax class symbol in csharp-mode, so you may use forward-symbol
instead of forward-word
. forward-symbol
is in thingatpt
, which comes with emacs (at least 23).
You can btw quickly look at the syntax table of a mode with C-h s
(describe-syntax).