
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Parse String into Nullable Int in C#
C# provides a special data types, the nullable types, to which you can assign normal range of values as well as null values.
C# 2.0 introduced nullable types that allow you to assign null to value type variables. You can declare nullable types using Nullable where T is a type.
Nullable types can only be used with value types.
The Value property will throw an InvalidOperationException if value is null; otherwise it will return the value.
The HasValue property returns true if the variable contains a value, or false if it is null.
You can only use == and != operators with a nullable type. For other comparison use the Nullable static class.
Nested nullable types are not allowed. Nullable<Nullable<int>> i; will give a compile time error.
Example 1
static class Program{ static void Main(string[] args){ string s = "123"; System.Console.WriteLine(s.ToNullableInt()); Console.ReadLine(); } static int? ToNullableInt(this string s){ int i; if (int.TryParse(s, out i)) return i; return null; } }
Output
123
When Null is passed to the extenstion method it doesn't print any value
static class Program{ static void Main(string[] args){ string s = null; System.Console.WriteLine(s.ToNullableInt()); Console.ReadLine(); } static int? ToNullableInt(this string s){ int i; if (int.TryParse(s, out i)) return i; return null; } }