SIGN UP MEMBER LOGIN:    
ARTICLE

GUIDs in C# and .NET

Posted by Prasoon Articles | Learn .NET June 18, 2009
This article gives a basic understanding of GUIDs in .NET Framework.
Reader Level:

GUID stands for Global Unique Identifier.

A GUID is a 128-bit integer (16 bytes) that you can use across all computers and networks wherever a unique identifier is required.


Here are some frequently asked questions about GUIDs.


A. How many GUIDs in Microsoft Windows can one computer generate without rolling over or running out?

Answer: Without getting into detail, let me tell you there are 2^122 or 5,316,911,983,139,663,491,615,228,241,121,400,000 possible combination.

Reason is beyond the scope of this article.


B. Which class in .NET Framework is used to generate Guid?

Answer: System.GUID class represents a GUID in .NET Framework.


C. How can we generate GUID with SQL Server?

Answer: We can generate GUID in Sql Server with the help of NEWID() function

D. Which namespace must be referenced to utilize the GUID attribute. ?

Answer:  System.Runtime.InteropServices namespace must be referenced to utilize the GUID attribute.

This can be done as shown in following code:-


using System;

using System.Runtime.InteropServices;

namespace TESTGUID {
[Guid("9245fe4a-d402-451c-b9ed-9c1a04247482")]

class Example {
//Your Implementation
                           }           
                      }


Generating GUID in .NET Framework using C#

We can generate GUID by calling following code snippet. As you can see from this code, we use Guid.NewGuid() method to generate a new GUID in C#.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication5
{

    class Program
    {
        static int Main(string[] args)
        {
                Guid obj = Guid.NewGuid();                          

                Console.WriteLine("New Guid is " + obj.ToString());
                Console.ReadLine();
            return -1;
        }
    }
}

Note that above in above code we have used the NewGuid Method which will create new GUID .

A common mistake done by C# developers is to create an object of GUID and trying to print that.

The following code snippet reflects that mistake.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication5
{
    class Program
    {
        static int Main(string[] args)
        {
                Guid obj = new Guid();
Console.WriteLine("New Guid is " + obj.ToString());
                Console.ReadLine();
                return -1;
        }
    }
}


The output of above console program will be always be 16 byte with all 0 .

Everytime same thing will come.

So while generating GUID use NewGuid Method.


Also note that Guid only contains alphanumeric characters and none of non-alphanumeric character will be seen in GUID except "-";

Hope it helps.

Login to add your contents and source code to this article
share this article :
post comment
 
Nevron Gauge for SharePoint
Become a Sponsor
PREMIUM SPONSORS
  • Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites - Click Here!
    ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
Nevron Gauge for SharePoint
Become a Sponsor