Cloud Training (Online)

Difference between String and string in C#

When developing an application using C# , one would have noticed the usage of String and string class .

In the below example we use 2 string variable

string str1 = " World";

String str2 = " World"; 

What is the difference between String and string in C# ?

System.String is a .NET Framework type whereas string is simply an alias for the System.String class . They both compile to the similar code in IL (Intermediate Code), so at execution time there is no difference.

string cannot be used as a variable name since it is a reserved word unless we use it with the @ symbol. If one needs to declare a variable called String , there are possibilities to do it as shown below.

using System;

namespace GinktageConsoleApp
    internal class Program
        private static Random randomNumber = new Random();

        private static void Main(string[] args)
            string String = "This is a String variable";
            string string = "Invalid Variable Name";

Senthil Kumar B
Senthil Kumar is a former Microsoft MVP (Most Valuable Professional). He is a Co-Author of the book "Windows 10 Development Recipes using JavaScript and CSS" for Apress Publication. He is a technical presenter, blogger, mentor and a Geek.  Senthil is a regular speaker is various local user groups. He has presented at conferences like Great Indian Developer Summit (GIDS) & Microsoft DevCamps. You can reach out to him via his Twitter handle @isenthil.