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);