In short “String is data type of C# but string is data type of .NET framework”
There are some difference between data type of C# and data type of .NET framework. We all know that .NET framework supports nearly 32 programming languages to develop application. And each programming language has it’s own data type , for example in C# programming language “Int” is present where in PHP everything is represented by “var” because PHP is loosely type checking programming language.
So, whatever programming language we may use in .NET platform, ultimately they convert in .NET framekork’s own data type.
For example, if we use “int” to define integer in C# ,after compilation the code it will convert to “Int32” which is data type of .NET framework same is “String” and “string” String is data type of C# but string is data type of .NET framework.
Please go through below link which has an example for it.
http://www.dotnetfunda.com/articles/show/2628/difference-between-data-type-of-csharp-and-data-type-net-framework