If you notice in your codes, String, which typed, with an uppercase S is colored in light blue.
If it is typed in the lowercase string, it is colored in dark blue.
What is the difference between String and string actually?
Nothing really, string is a C# language keyword, which is an alias for System.String in .NET framework.
So do int = System.Int32, bool = System.Boolean and short = System.Int16.
The only subtle difference is that string can be used without a using System; directive, while String needs it,
otherwise you will need to specify System.String in full.
Hope this can provides you a clearer understanding about string and String.