Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
How to create Guid value in C#?
A Globally Unique Identifier or Guid represents a 128-bit identification number that is mathematically guaranteed to be unique across multiple systems and distributed applications. The total number of unique keys (approximately 3.40282366×10³?) is so large that the probability of generating the same number twice is negligible.
GUIDs are commonly used in applications where unique identification is critical, such as database primary keys, transaction IDs, or session identifiers. They are typically displayed as a sequence of hexadecimal digits like 3F2504E0-4F89-11D3-9A0C-0305E82C3301.
Syntax
The Guid structure is present in the System namespace. Following are the most common ways to create a Guid −
Guid newGuid = Guid.NewGuid();
Guid emptyGuid = Guid.Empty;
Guid parsedGuid = new Guid("3F2504E0-4F89-11D3-9A0C-0305E82C3301");
Using Guid.NewGuid() Method
The most common method to generate a new unique Guid is using the Guid.NewGuid() static method −
using System;
class Program {
static void Main(string[] args) {
Guid demoGuid = Guid.NewGuid();
Console.WriteLine("First GUID: " + demoGuid);
Console.WriteLine("Second GUID: " + Guid.NewGuid());
Console.WriteLine("Third GUID: " + Guid.NewGuid());
}
}
The output of the above code is −
First GUID: 3a251d82-e8ce-442f-9e42-5285653a5e8a Second GUID: 09081b06-26e2-49fa-8e96-93748a99defa Third GUID: f47ac10b-58cc-4372-a567-0e02b2c3d479
Creating Empty and Specific Guids
You can also create an empty Guid or parse a specific Guid from a string −
using System;
class Program {
static void Main(string[] args) {
// Empty GUID
Guid emptyGuid = Guid.Empty;
Console.WriteLine("Empty GUID: " + emptyGuid);
// Parse from string
string guidString = "12345678-1234-5678-9abc-123456789abc";
Guid parsedGuid = new Guid(guidString);
Console.WriteLine("Parsed GUID: " + parsedGuid);
// Check if GUID is empty
Console.WriteLine("Is empty: " + (emptyGuid == Guid.Empty));
}
}
The output of the above code is −
Empty GUID: 00000000-0000-0000-0000-000000000000 Parsed GUID: 12345678-1234-5678-9abc-123456789abc Is empty: True
Common Guid Operations
The Guid structure provides several useful methods for working with GUIDs −
using System;
class Program {
static void Main(string[] args) {
Guid guid1 = Guid.NewGuid();
Guid guid2 = Guid.NewGuid();
Console.WriteLine("GUID 1: " + guid1);
Console.WriteLine("GUID 2: " + guid2);
Console.WriteLine("Are equal: " + guid1.Equals(guid2));
Console.WriteLine("Hash code: " + guid1.GetHashCode());
Console.WriteLine("Uppercase: " + guid1.ToString().ToUpper());
Console.WriteLine("Without hyphens: " + guid1.ToString("N"));
}
}
The output of the above code is −
GUID 1: a1b2c3d4-e5f6-7890-abcd-ef1234567890 GUID 2: f9e8d7c6-b5a4-9382-7160-fedcba987654 Are equal: False Hash code: 123456789 Uppercase: A1B2C3D4-E5F6-7890-ABCD-EF1234567890 Without hyphens: a1b2c3d4e5f67890abcdef1234567890
Conclusion
The Guid structure in C# provides a reliable way to generate globally unique identifiers using Guid.NewGuid(). GUIDs are essential for creating unique keys in distributed systems, databases, and applications where collision-free identification is critical.
