Advertisement
//String objects created by directly assigning the String literals
String s1 = "Hello"; // Statement 1
String s2 = "Hello"; // Statement 2
//Creating a char array
char[] arr = {'H', 'e', 'l', 'l', 'o'};
//Dynamically creating a String object from a char[] array.
String str1 = new String(arr); // Statement 3
Advertisement
//C# String Intern Pool Example
using System;
using System.Text;
class A
{
public static void Main()
{
//Creating a String object in intern pool by directly assigning a String literal value
String s1 = "Hello";
//Creating a String object in intern pool by directly assigning a duplicate String literal value
String s2 = "Hello";
//Creating a String object in intern pool by directly assigning a String literal value
String s6 = "HelloHello";
//Creating a char array
char[] arr = {'H', 'e', 'l', 'l', 'o'};
//Dynamically creating a String object from a char[] array.
String s3 = new String(arr);
//Dynamically creating a String object by calling converting a StringBuilder to String object.
String s4 = new StringBuilder("Hello").ToString();
//Dynamically creating a String object by programmatically adding two String objects
String s5 = s1 + s1;
//Calling the static method ReferenceEquals(), to check for the equality of references.
Console.WriteLine("Do s1 and s2 point to a same String object ? "+ (ReferenceEquals(s1, s2)));
Console.WriteLine("Do s1 and s3 point to a same String object ? "+ (ReferenceEquals(s1, s3)));
Console.WriteLine("Do s3 and s4 point to a same String object ? "+ (ReferenceEquals(s3, s4)));
Console.WriteLine("Do s6 and s5 point to a same String object ? "+ (ReferenceEquals(s6, s5)));
}
}
Do s1 and s2 point to a same String object ? True
Do s1 and s3 point to a same String object ? False
Do s3 and s4 point to a same String object ? False
Do s6 and s5 point to a same String object ? False
Advertisement
Advertisement
Please check our latest addition
C#, PYTHON and DJANGO
Advertisement