string
is an alias for System.String
. So technically, there is no difference. It's like int
vs.System.Int32
.
As far as guidelines, I think it's generally recommended to use
string
any time you're referring to an object. e.g.string place = "world";
Likewise, I think it's generally recommended to use
String
if you need to refer specifically to the class. e.g.string greet = String.Format("Hello {0}!", place);
This is the style that Microsoft tends to use in their examples.