برای ایجاد و استفاده از UUID در زبان برنامهنویسی CSharp از ساختار Guid موجود در کتابخانه System استفاده میشود.
برای ایجاد که یک Guid در زبان برنامهنویسی CSharp می توان از کد زیر استفاده نمود:
1public static Guid NewGuid()
2{
3 return Guid.NewGuid();
4}
guid ایجاد شده در این روش از نوع و نسخه چهارم UUID است و به صورت تصادفی تولید میشود. برای تولید guid به صورت ترتیبی میتوان از کد زیر استفاده نمود:
1public static Guid NewSequentialGuid()
2{
3 var uid = Guid.NewGuid().ToByteArray();
4 var binDate = BitConverter.GetBytes(DateTime.UtcNow.Ticks);
5
6 var secuentialGuid = new byte[uid.Length];
7
8 secuentialGuid[0] = uid[0];
9 secuentialGuid[1] = uid[1];
10 secuentialGuid[2] = uid[2];
11 secuentialGuid[3] = uid[3];
12 secuentialGuid[4] = uid[4];
13 secuentialGuid[5] = uid[5];
14 secuentialGuid[6] = uid[6];
15
16 // set the first part of the 8th byte to '1100' so
17 // later we'll be able to validate it was generated by us
18
19 secuentialGuid[7] = (byte)(0xc0 | (0xf & uid[7]));
20
21 // the last 8 bytes are sequential,
22 // it minimizes index fragmentation
23 // to a degree as long as there are not a large
24 // number of Secuential-Guids generated per millisecond
25
26 secuentialGuid[9] = binDate[0];
27 secuentialGuid[8] = binDate[1];
28 secuentialGuid[15] = binDate[2];
29 secuentialGuid[14] = binDate[3];
30 secuentialGuid[13] = binDate[4];
31 secuentialGuid[12] = binDate[5];
32 secuentialGuid[11] = binDate[6];
33 secuentialGuid[10] = binDate[7];
34
35 return new Guid(secuentialGuid);
36}
برای بررسی رشتهای که حاوی guid است به ساختار guid میتوان از کد زیر استفاده نمود:
1public static bool IsGuid(string guidString)
2{
3 return Guid.TryParse(guidString, out _);
4}
برای بررسی اینکه آیا مقدار guid مورد نظرتان یک guid خالی است یا خیر میتوان از کد زیر استفاده نمود:
1public static bool IsEmptyGuid(Guid guid)
2{
3 return guid == Guid.Empty;
4}