xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (32 個十六進位字元 + 4 連字號)。System.Guid.NewGuid()// C#
Guid g = Guid.NewGuid();
string s = g.ToString(); // "936DA01F-9ABD-4d9d-80C7-02AF85C822A8"
// VB.NET
Dim g As Guid = Guid.NewGuid()
// J#
System.Guid g = System.Guid.NewGuid();
// C# 參數化查詢範例
string sql = "INSERT INTO Users (UserID, Name) VALUES (@id, @name)";
using (var cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@id", Guid.NewGuid());
cmd.Parameters.AddWithValue("@name", userName);
cmd.ExecuteNonQuery();
}
SQL Server 對應型別為 uniqueidentifier,亦可用 NEWID() 函式在資料庫端產生。
為 .NET 類別指定固定 GUID,供 COM 用戶端繫結:
[Guid("9245FE4A-D402-451C-B9ED-9C1A04247482")]
[ComVisible(true)]
public interface IMyComInterface { ... }
[Guid("A1B2C3D4-E5F6-7890-ABCD-EF1234567890")]
[ClassInterface(ClassInterfaceType.None)]
public class MyComClass : IMyComInterface { ... }
string tempDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString("N"));
Directory.CreateDirectory(tempDir);
Guid g = Guid.Parse("936DA01F-9ABD-4d9d-80C7-02AF85C822A8");
string n = g.ToString("N"); // 無連字號: 936DA01F9ABD4D9D80C702AF85C822A8
string b = g.ToString("B"); // 大括號: {936DA01F-9ABD-4d9d-80C7-02AF85C822A8}
string p = g.ToString("P"); // 小括號: (936DA01F-9ABD-4d9d-80C7-02AF85C822A8)
byte[] bytes = g.ToByteArray(); // 16 bytes 陣列