Difference between String and string in C# Explained with Examples

Category > CSHARP || Published on : Tuesday, March 14, 2023 || Views: 363 || C# String string Data Types Programming .NET


C# is a versatile programming language that offers developers a range of data types to work with. Two of the most commonly used data types for representing sequences of characters are String and string. While they might seem interchangeable, there are some important differences between them that developers need to be aware of. In this article, we'll explore those differences and provide examples to help illustrate their use.

C# is a powerful programming language widely used for building robust applications, and it supports both uppercase and lowercase string types. In this article, we'll explore the Difference between String and string in C#.

The main difference between String and string in C# is that String is a reference type that is defined in the System namespace, while string is an alias for the String type, which is defined in the same namespace.

String: String is a reference type that represents a sequence of characters. It is immutable, which means once a String object is created, its value cannot be changed. Whenever a change is made to a string, a new string object is created in memory.

string: On the other hand, string is a keyword that is used as an alias for the String type. It is a value type, just like int or float, and it represents a sequence of characters.

Example Code: Here's an example that demonstrates the use of String and string in C#:

String str1 = "Hello World!";
String str2 = String.Concat("Hello", "World!");
string str3 = "Hello World!";
string str4 = str3.Substring(6, 5);

Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str3);
Console.WriteLine(str4);

In this code snippet, we've declared four variables: str1, str2, str3, and str4. The first two variables are declared as String, and the other two are declared as string.

We've initialized str1 with the string "Hello World!" using the String type. Similarly, we've initialized str2 using the Concat method of the String class.

We've also initialized str3 with the string "Hello World!" using the string keyword. Finally, we've initialized str4 by calling the Substring method of str3.

Conclusion: In conclusion, the Difference between String and string in C# is that String is a reference type, while string is an alias for the String type. Both are used to represent sequences of characters, but String is immutable and creates a new object in memory every time a change is made, whereas string is a value type and is more efficient in terms of memory usage.