The Readonly property in C# Explained
In C#, readonly is
a keyword which is useful to define read-only fields in our applications.
The read-only field values need to be initialized either at the declaration or
in a constructor of the same class unlike constant
keyword. If we use readonly keyword
with fields, then those field values will be evaluated at the runtime.
To define read-only fields in C#, we
need to use readonly keyword
during the declaration of fields in our application and we can use readonly modifier with the numbers,
boolean values, strings or with null references.
If we use readonly keyword to define the read-only
field, then that field value cannot be changed once the constructor execution has finished so we should not
use readonly keyword with the
fields whose value will be changed at any time.
It’s mandatory to initialize
read-only field values either at the declaration or in a constructor otherwise we will get compile-time
errors.
Readonly Keyword Syntax in C#
The following is the syntax of
defining read-only fields using readonly keyword
in C#.
readonly datatype fieldname=”value”;
The following are the different ways
of declaring and initializing read-only fields in C# programming language.
class User
{
// Initialize
Read Only Fields
public readonly string Name = "Musa Sule";
public readonly string
Location;
public readonly int Age;
public User()
{
Location = "Abuja";
Age = 42;
}
public void
SetUserDetails()
{
// Compile
error if uncommented
//location =
"Guntur";
//age = 30;
}
}
In case if we uncomment the commented code in SetUserDetails() method, then we
will get compile errors because, in C#, the read-only field values can be
initialized either during declaration or in a constructor.
Readonly Property Example
The following code is an example of defining and using
read-only fields in C# with readonly
keyword.
using System;
namespace CsharpnaijaTutorial
{
class Person
{
// Initialize
Read Only Fields
public readonly string Name = "Musa Sule";
public readonly string
Location;
public readonly int Age;
public Person()
{
Location = "Abuja";
Age = 32;
}
}
class Program
{
static void Main(string[] args)
{
Person person = new Person();
// This will
throw compile time error
//person.Name =
"Sakinat Musa";
Console.WriteLine($"Name: {person.Name}");
Console.WriteLine($"Location: {person.Location}");
Console.WriteLine($"Age: {person.Age}");
Console.WriteLine("\nPress Enter Key to Exit..");
Console.ReadLine();
}
}
}
As we
earlier discussed, once the read-only field is declared and initialized, then
that field value must be same throughout the application.
ReadOnly Property Features
The following are the important features of the
read-only variables in C#.
- Read-only fields in C# can be created
by using
readonly
keyword. - The readonly fields can be
initialized either at the declaration or in a constructor.
- The readonly field values will be
evaluated during the run time in C#.
- Once values assigned to read-only
fields, then those values must be the same throughout the application.
Difference between Constant and ReadOnly
The following are the difference between constant and readonly properties in C#.
·
The constant fields can be created by
using const
keyword and read-only fields can
be created by using readonly
keyword.
- The constant fields
can only be initialized during the time of declaration but read-only
fields can be initialized either at the declaration or in a constructor.
- Constant field values will be
evaluated during the compile time but read-only field values will be
evaluated at run time in c#.
Thank you
References
1.
Tutlane
Best Crypto Casinos » TOP 10 Crypto Casino Sites for 2021
ReplyDelete10. Red 코인카지노 마팀장 Dog Casino - Best Bitcoin 1xbet korean Online Casino With a w88 high withdrawal limit for real money, Bitcoin 카지노 커뮤니티 casinos can't 188bet go wrong with the cryptocurrency