EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

C# intern()

Home » Software Development » Software Development Tutorials » C# Tutorial » C# intern()

C# intern()

Introduction to C# intern()

The reference to a given string can be retrieved from the memory location in C# using a method called intern() method and whenever the method is used to search for the reference of the string matching the given string in the memory area. The method looks for the reference of the string matching the given string in the memory area and that reference is returned if the string in memory area matches the given string and if the string matching the given string does not exist in the memory area, the given string is added to the memory area and its reference is returned by this method.

Syntax

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

public static string Intern(String string)

Where,

string is the string whose reference needs to be searched in the memory area.

How does the intern() work in C#?

  • Whenever there is a need to search for the reference of a string matching the given string in the memory area, we make use of Intern() method in C#.
  • Whenever the method is used to search for the reference of the string matching the given string in the memory area, the method looks for the reference of the string matching the given string in the memory area and that reference is returned if the string in memory area matches the given string.
  • Whenever the method is used to search for the reference of the string matching the given string in the memory area, the method looks for the reference of the string matching the given string in the memory area and if the string matching the given string does not exist in the memory area, the given string is added to the memory area and its reference is returned by this method.
  • The string whose reference needs to be searched in the memory area is passed as a parameter to the Intern() method.

Examples to Implement C# intern()

Below are the examples mentioned:

Example #1

C# program to demonstrate Intern() method and determine if the references to the strings are same or not using ReferenceEquals method:

Code:

using System;
//a class called program is defined
public class Program
{
//main method is called
public static void Main(string[] args)
{
//a string variable is used to store the first string
string str1 = "Welcome to C#";
//another string variable is used to store the reference of the string one using intern method
string str2 = string.Intern(str1);
Console.WriteLine("The value of the string one is: {0}",str1);
Console.WriteLine("The value of the string two after using intern method on string one is: {0}",str2);
//ReferenceEquals method is used to check if the two strings are pointing to the same reference in the memory area or not
Console.WriteLine("If the references of the two objects are equal: {0}", Object.ReferenceEquals(str1, str2));
}
}

Output:

C# intern() - 1

Explanation: In the above program, a class called program is defined. Then the main method is called within which two string variables are defined, one to store a string whose reference must be searched for in the memory area and another string variable to find the reference of the first string in the memory area by using intern() method. If the reference of the first string does not exist in the memory area, a new reference is created and that is returned by Intern() method. Then Object.ReferenceEquals method is used to verify if the references of the given two strings match with each other or not.

Example #2

C# program to demonstrate Intern() method and determine if the references to the strings are same or not using ReferenceEquals method:

Popular Course in this category
C# Training Program (6 Courses, 17 Projects)6 Online Courses | 17 Hands-on Project | 89+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.6 (8,347 ratings)
Course Price

View Course

Related Courses
ASP.NET Training (8 Courses, 19 Projects).NET Training Program (4 Courses, 19 Projects)

Code:

using System;
//a class called program is defined
public class Program
{
//main method is called
public static void Main(string[] args)
{
//a string variable is used to store the first string
string str1 = "Welcome to";
string str2 = "Welcome to C#";
//another string variable is used to store the reference of the string one using intern method
string str3 = string.Intern(str1 + " C#");
Console.WriteLine("The value of the string one is: {0}",str1);
Console.WriteLine("The value of the string two is: {0}",str2);
Console.WriteLine("The value of the string three after using intern method on string one is: {0}",str3);
//ReferenceEquals method is used to check if the two strings are pointing to the same reference in the memory area or not
Console.WriteLine("If the references of the two objects are equal: {0}", Object.ReferenceEquals(str2, str3));
}
}

Output:

C# intern() - 2

Explanation: In the above program, a class called program is defined. Then the main method is called within which three string variables are defined, one to store a string whose reference must be searched for in the memory area and this is represented by str2 in the program and another string variable to find the reference of the string str2 in the memory area by using intern() method and this string is represented by str3 in the program. The string str3 is a combination of the string str1 and str3. Hence the reference of the string str2 doesn’t match with the reference of the str3 though both the strings return the same reference. If the reference of the string does not exist in the memory area, a new reference is created and that is returned by Intern() method and hence the string str3 is a combination of the string str1 and the string str3 itself. Then Object.ReferenceEquals method is used to verify if the references of the given two strings match with each other or not and it returns false as the reference of the string str2 do not match with the reference of the string string3. The output is shown in the snapshot above.

Conclusion

In this tutorial, we understand the concept of Intern() method in C# through definition, syntax, and working of Intern() method through programming examples and their outputs.

Recommended Articles

This is a guide to C# intern(). Here we discuss an introduction to C# intern(), syntax, how does it work with programming examples. You can also go through our other related articles to learn more –

  1. Reverse String in C#
  2. Clone() In C#
  3. DateTime In C#
  4. TextReader In C#

C# Training Program (6 Courses, 17 Projects)

6 Online Courses

17 Hands-on Project

89+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C sharp Tutorial
  • Functions
    • C# Functions
    • C# String Functions
    • Math Functions in C#
    • Recursive Function in C#
    • C# Anonymous Functions
    • C# Local Functions
    • Enum in C#
    • Trim() in C#
    • clone() in C#
    • C# random
    • C# String Format()
    • C# String Interpolation
    • C# StartsWith()
    • C# String IndexOf()
    • DateTime in C#
    • C# Nullable
    • C# nameof
    • C# checked
    • C# String PadLeft
    • Convert String to Double in C#
    • Convert int to String C#
    • String to Date C#
    • C# intern()
    • C# Stopwatch
    • C# DirectoryInfo
    • C# Compare()
    • C# Base
    • C# SOAP
    • Lock in C#
  • Basic
    • Uses Of C#
    • C# Versions
    • C# Data Types
    • Variables in C#
    • Namespaces in C#
    • C# Compilers
    • C# Keywords
    • Iterators in C#
    • Objects in C#
    • C# Object Dispose
    • C# object to XML
    • C# check object type
    • C# Object Serialization
    • Pointers in C#
    • C# Literals
    • C# Commands
    • C# Custom Attribute
    • Type Casting in C#
    • String vs String C#
    • C# Struct vs Class
  • Operators
    • Logical Operators in C#
    • Conditional Operators in C#
    • Bitwise Operators in C#
    • C# OR Operator
    • C# Ternary Operators
    • Operator Precedence in C#
  • Control Statement
    • C# if Statement
    • Else If in C#
    • Continue in C#
    • Break in C#
    • Switch Statement in C#
    • Goto Statement in C#
  • Loops
    • C# For Loop
    • C# While Loop
    • C# do-while loop
    • C# foreach Loop
  • Arrays
    • Arrays in C#
    • 2D Arrays in C#
    • C# Jagged Arrays
    • String Array in C#
    • C# Multidimensional Arrays
  • Constructor and Destructor
    • Constructor in C#
    • Copy Constructor in C#
    • Static Constructor in C#
    • Destructor in C#
  • overloading and overrideing
    • Overloading and Overriding in C#
    • Overloading in C#
    • Overriding in C#
    • Method Overloading in C#
    • Method Overriding in C#
    • Operator Overloading in C#
  • Advanced
    • Inheritance in C#
    • Exception Handling in C#
    • Types of Exception in C#
    • C# FileNotFoundException
    • C# NullReferenceException
    • C# OutOfMemoryException
    • C# StackOverflowException
    • Custom Exception in C#
    • What is Multithreading in C#
    • C# finally
    • C# System.IO
    • What is StringBuilder in C#
    • DataReader C#
    • BinaryWriter in C#
    • C# BinaryReader
    • TextWriter in C#
    • TextReader in C#
    • C# StringReader
    • C# StringWriter
    • C# StreamReader
    • C# StreamWriter
    • C# FileInfo
    • What is Design Pattern in C#?
    • Multithreading in C#
    • Sorting in C#
    • Bubble Sort in C#
    • C# SortedList
    • C# SortedSet
    • C# SortedDictionary
    • Abstract Class in C#
    • Access Modifiers in C#
    • C# Generics
    • Deserialization in C#
    • C# Thread
    • C# Thread Join
    • C# Thread Sleep
    • C# Thread Synchronization
    • C# Class
    • Sealed in C#
    • Sealed Class in C#
    • Polymorphism in C#
    • C# Call By Reference
    • Virtual Keyword in C# 
    • Yield Keyword in C#
    • Regular Expression in C#
    • C# Lambda Expression
    • C# Predicate
    • Convert Object to JSON C#
    • Checkbox in C#
    • C# MessageBox
    • Collections in C#
    • List in C#
    • C# LinkedList
    • Listbox in C#
    • Protected in C#
    • C# EventHandler
    • Private in C#
    • this Keyword in C#
    • Static Keyword in C#
    • C# Out Parameter
    • Assert in C#
    • C# Delegates
    • C# Interface
    • Generics in C#
    • Timer in C#
    • C# Serialization
    • Metadata in C#
    • C# Stack
    • C# Using Static
    • Queue in C#
    • C# File.Exists
    • C# Tuples
    • C# Create JSON Object
    • Partial in C#
    • C# readonly
    • C# Action Delegate
    • C# Await Async
    • C# Dictionary
    • IEnumerable C#
    • C# Data Grid View
    • C# Dynamic
    • Web Services in C#
    • C# Pattern Matching
    • C# Extension Methods
    • C# XmlSerializer
  • Programs
    • Patterns in C#
    • Swapping in C#
    • Palindrome in C#
    • Factorial in C#
    • Fibonacci Series in C#
    • Random Number Generator in C#
    • Prime Numbers in C#
    • Armstrong Number in C#
    • Reverse String in C#
  • Interview questions
    • C# Interview Questions and Answers
    • C# OOP Interview Questions
    • C# Design Pattern Interview Questions

Related Courses

C# Certification Training

ASP.NET Course

.NET Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C# Training Program (6 Courses, 17 Projects) Learn More