C# Tutorial

C# Tutorial C# First Application C# Variables C# Data Types C# Operators C# Keywords

C# Control Statement

C# If Statements C# Switch Statements C# for Loop C# While Loop C# do While loop C# Jump Statements C# Function C# functions with out variable

C# Arrays

C# Arrays

C# Function

C# Function call by value C# Call by reference C# Passing array to function C# Multidimensional Arrays C# Jagged Arrays C# Params C# Array Class C# Command Line Arguments

C# Object Class

C# Object and Classes C# Constructors C# Destructor C# this Keyword C# static field C# static class C# Static Constructor C# Structs C# enum C# Properties

C# Inheritance

C# Inheritance C# Multilevel Inheritance C# Aggregation C# Member overloading C# Method Overriding C# Base

C# Polymorphism

C# Polymorphism C# Sealed

C# Abstraction

C# Abstraction C# Interface

C# Namespace

C# Namespace C# Access Modifiers C# Encapsulation

C# Strings

C# String

C# Misc

C# Design Patterns Dictionary in C# Boxing and Unboxing in C# Ref and Out in C# Serialization in C# Dispose and Finalize in C# CONSOLE LOG IN C# Get File extension in C# Insert query in c# Difference Between List and Dictionary in C# Getters and Setters in C# Extension Methods in C# Insert query in c# CONSOLE LOG IN C# Get File extension in C# Random.NextDouble() Method in C# Binary Search in C# Difference between Delegates and Interfaces in C# Double.IsFinite() Method in C# Index Constructor in C# Abstraction in C# Basic OOPS Concepts In C# Queue.CopyTo() Method in C# single.compareto() method in C# C# Throw Exception in Constructor DECODE IN C# file.setlastwritetimeutc() method in C# Convert Object to List in C# convert.ToSByte(string, IFormatProvider) Method in C# C# Declare Delegate in Interface console.TreatControl C As Input property in C# Copying the queue elements to 1-D Array in C# Array.Constrainedcopy() Method in C# C# in and out Char.IsLetterOrDigit() method in C# Debugging in C# decimal.compare() method in C# Difference between Console.Read and Console.Readline in C# Metadata in C# C# Event Handler Example Default Interface Methods in C# Difference between hashtable and dictionary in C# C# program to implement IDisposable Interface Encapsulation in C# SortedList.IndexOfVaalue(Object) Method in C# Hash Maps in C# How to clear text files in C# How to Convert xls to xlsx in C# Foreach loop in C# FIFO in C# How to handle null exception in C# Type.Is Instance Of Type() Method in C# How to add data into MySQL database using C# How to use angular js in ASP net Csharp decimal.compare() method in Csharp Difference between Console.Read and Console.Readline in Csharp How to Implement Interface in Csharp char.IsUpper() Method in C# Index Of Any() Method in C# Quantifiers in C# C# program to Get Extension of a Given File C# Error Logging C# ENCRIPTION Can we create an object for Abstract Class in C# Console.CursorVisible in C# SortedDictionary Implementation in C# C# Hash Table with Examples Setting the Location of the Label in c# Collections in c# Virtual Keyword in C# Reverse of string in C# String and StringBuilder in C# Encapsulation in C# SortedList.IndexOfVaalue(Object) Method in C# Hash Maps in C# How to clear text files in C# How to Convert xls to xlsx in C# Foreach loop in C# FIFO in C# How to handle null exception in C# Type.Is Instance Of Type() Method in C# How to add data into MySQL database using C# How to use angular js in ASP net Csharp decimal.compare() method in Csharp Difference between Console.Read and Console.Readline in Csharp How to Implement Interface in Csharp char.IsUpper() Method in C# Index Of Any() Method in C# Quantifiers in C# C# program to Get Extension of a Given File Difference between ref and out in C# Singleton Class in C# Const And Readonly In Csharp BinaryReader and BinaryWriter in C# C# Attributes C# Delegates DirectoryInfo Class in C# Export and Import Excel Data in C# File Class in C# FileInfo Class in C# How to Cancel Parallel Operations in C#? Maximum Degree of Parallelism in C# Parallel Foreach Loop in C# Parallel Invoke in C# StreamReader and StreamWriter in C# TextReader and TextWriter in C# AsQueryable() in C# Basic Database Operations Using C# C# Anonymous Methods C# Events C# Generics C# Indexers C# Multidimensional Indexers C# Multithreading C# New Features C# Overloading of Indexers Difference between delegates and events in C# Operator overloading in C# Filter table in C# C# Queue with Examples C# Sortedlist With Examples C# Stack with Examples C# Unsafe Code File Handling in C# HashSet in C# with Examples List Implementation in C# SortedSet in C# with Examples C# in Depth Delegates and Events in C# Finally Block in C# How to Split String in C# Loggers in C# Nullable Types in C# REVERSE A STRING IN C# TYPE CASTING IN C# What is Generics in C# ABSTRACT CLASS IN C# Application of pointer in C# Await in c# READONLY AND CONSTANT IN C# Type safe in C# Types of Variables in c# Use of delegates in c# ABSTRACT CLASS IN C# Application of pointer in C# Await in c# READONLY AND CONSTANT IN C# Type safe in C# Types of Variables in c# Use of delegates in c# ABSTRACT CLASS IN C# Application of pointer in C# Await in c# READONLY AND CONSTANT IN C# Type safe in C# Types of Variables in c# Use of delegates in c# Atomic Methods Thread Safety and Race Conditions in C# Parallel LINQ in C# Design Principles in C# Difference Between Struct And Class In C# Difference between Abstraction and Encapsulation in C# Escape Sequence Characters in C# What is IOC in C# Multiple Catch blocks in C# Appdomain in C# Call back methods in C# Change Datetime format in C# Declare String array in C# Default Access Specifier in c# Foreach in LINQ C# How to compare two lists in C# How to Convert String to Datetime in c# How to get only Date from DateTime in C# Ispostback in asp net C# JSON OBJECT IN C# JSON STRINGIFY IN C# LAMBDA FUNCTION IN C# LINQ Lambda Expression in C# Microservices in C# MSIL IN C# Reference parameter in C# Shadowing(Method hiding) in C# Solid principles in C# Static Members in C# Task run in C# Transaction scope in C# Type Conversion in c# Unit of Work in C# Unit Test Cases in c# User Defined Exception in c# Using Keyword in C# Var Keyword in C# What is gac in C#

How to handle null exception in C#

A NullReferenceException in C# is raised when we attempt to access a variable whose value is null or has not been set at all. It's crucial to understand how to prevent this exception in the first place because it can be simple to unintentionally cause it. This post will examine some typical reasons for NullReferenceException issues as well as solutions. Additionally, we'll go over how to stop NullReferenceException issues from occurring in the first place.

Null reference in C#

A pointer that does not point to a legitimate memory address or object is called a null pointer or null reference. This issue has existed for as long as programmers have been writing programs.

A null value is a unique value that indicates that a valid value is not available. When a null value is applied to an object, all fields and variables within the object are reset to null or empty. You must manage null values in your application's code to prevent null reference exceptions and unpredictable runtime behaviour.

A NullReferenceException: What causes it?

In C#, references to objects are stored in variables of reference types. The null value is used to indicate that the reference does not point to an object. It's also important to remember that reference-type expressions have null as their default value.

When you attempt to dereference a null reference, an exception of the NullReferenceException type is raised. Below is a list of some examples of these operations.

Example:

An example of the code that raises a NullReferenceException is provided below:

using System;

using System.Collections.Generic;

public class Example

{

          public static void Main()

          {

                    IList<string> students = null;

                    ShowStudents(students);

          }

          public static void ShowStudents(IList<string> students)

          {

                    foreach (var student in students)

                    {

                              Console.WriteLine(student);

                    }

          }

}

Because the students list in the example above is null, the ShowStudents() function will throw a NullReferenceException when accessing the cities list using a foreach loop. The same exception will be raised by the ShowStudents() function if its caller passes in a null IList parameter.

Output:

How to handle null exception in C#/>
<!-- /wp:html -->

<!-- wp:heading -->
<h2 class=Methods to prevent NullReferenceException

Exclude the case of null references dereference to prevent exceptions of the NullReferenceException class. Use these steps to accomplish this:

  • Determine the source of the null reference and how it enters an expression;
  • modify the application's logic to prevent null reference access.

How to handle NullReferenceException

Before accessing the reference type parameters, make sure they are not null to avoid raising the NullReferenceException exception.

Example 1: Use an if condition to determine if an object has a null value or not, as demonstrated below:

using System;

using System.Collections.Generic;

public class Program

{

          public static void Main()

          {

                    IList<string> students = null;

                    ShowStudents(students);

          }

          public static void ShowStudents(IList<string> students)

          {

                    if (students == null) //before accessing check for null

                    {

                              Console.WriteLine("No Students");

                              return;

                    }

                    foreach (var student in students)

                    {

                              Console.WriteLine(student);

                    }

          }

}

If(students == null) in the example above determines whether or not the students object is null. Display the relevant message and exit the function if it is null.

Output:

How to handle null exception in C#/>
<!-- /wp:html -->

<!-- wp:heading {

Example 2: As seen below, utilize the null conditional operator “?” in.NET 5:

using System;

public class Program

{

          public static void Main()

          {

                    Person prsn = null;

                    Display(prsn);

                    prsn = new Person(){ Name = "Puja Murthy", MobileNumber = "9876543210"};

                    Display(prsn);

          }

          public static void Display(Person prsn)

          {

                    Console.WriteLine("Person Details:");

                    Console.WriteLine(prsn?.Name);

                    Console.WriteLine(prsn?.MobileNumber);

          }

}

public class Person

{

          public int sno { get; set; }

    public string Name { get; set; }

    public string MobileNumber { get; set; }

}

In the illustration above, prsn?.The name is similar to if(prsn!= null) std.Name. The prsn?.Name only accesses the Name property after determining that prsn is not null.

Output:

How to handle null exception in C#/>
<!-- /wp:html -->

<!-- wp:heading {

Example 3: Use the Null-Coalescing operator  "??" in.NET 4.x and later versions. To avoid an exception, as demonstrated below:

using System;

using System.Collections.Generic;

public class Example

{

          public static void Main()

          {

                    IList<string> students = null;

                    ShowStudents(students);

          }

          public static void ShowStudents(IList<string> students)

          {

                    foreach (var student in students?? new List<string>())

                    {

                              Console.WriteLine(student);

                    }

          }

}

The null coalescing operator in the example above,??, determines whether an object is null or not and creates an object if it is. If a student in the foreach loop is null, the students?? new List() function generates a new list object. As a result, no NullReferenceException will be triggered.

Output:

How to handle null exception in C#/>
<!-- /wp:html -->

<!-- wp:html -->
<div class=