C# как создать значение Guid?

Одним из полей нашей структуры является тип Guid. Как создать действительное значение для него?

15 ответов

Решение
Guid id = Guid.NewGuid();

Есть два способа

var guid = Guid.NewGuid();

или же

var guid = Guid.NewGuid().ToString();

оба используют класс Guid, первый создает объект Guid, второй - строку Guid.

Guid.NewGuid() создает новый случайный гид.

Guid.NewGuid() создаст

Чтобы сделать "пустой" все-0, как guid 00000000-0000-0000-0000-000000000000,

var makeAllZeroGuID = new System.Guid();

или же

var makeAllZeroGuID = System.Guid.Empty;

Чтобы сделать реальный гид с уникальным значением, что вы, вероятно, хотите.

var uniqueGuID = System.Guid.NewGuid(); 
var guid = new Guid();

Эй, это "действительный", хотя и не очень полезный, Guid.

(Guid - это все нули, если вы не знаете. Иногда это необходимо, чтобы указать отсутствие guid, в тех случаях, когда вы не хотите использовать Guid с нулевым значением)

Если вы хотите создать "нужный" Guid, вы можете сделать

var tempGuid = Guid.Parse("<guidValue>");

где <guidValue> было бы что-то вроде 1A3B944E-3632-467B-A53A-206305310BAE,

System.Guid desiredGuid = System.Guid.NewGuid();

Также есть ShortGuid - более короткий и удобный для URL-адресов класс GUID на C#. Он доступен как Nuget. Больше информации здесь.

PM> Install-Package CSharpVitamins.ShortGuid

Применение:

Guid guid = Guid.NewGuid();
ShortGuid sguid1 = guid; // implicitly cast the guid as a shortguid
Console.WriteLine(sguid1);
Console.WriteLine(sguid1.Guid);

Это создает новый гид, использует этот гид для создания ShortGuid и отображает два эквивалентных значения в консоли. Результаты будут примерно такими:

ShortGuid: FEx1sZbSD0ugmgMAF_RGHw 
Guid:      b1754c14-d296-4b0f-a09a-030017f4461f

С использованием '

      Guid guid = Guid.NewGuid();

Тебе нужно:

      using System;

Который в основном используется в любом коде C#.

В случае возникновения проблем убедитесь, что Guid не перезаписан .

Это действительно просто. Инфраструктура .Net предоставляет встроенную функцию для создания и анализа GUID. Это доступно в пространстве имен System и статическом классе Guid.

Чтобы создать GUID, просто используйте приведенный ниже код:

      var newGuid = System.Guid.NewGuid(); 

Чтобы проанализировать строку GUID как GUID, используйте приведенный ниже код:

      var parsedGuid = System.Guid.Parse(guidString);

Если вы просто хотите создать новое руководство и просто использовать его в своем приложении, просто используйте один из инструментов онлайн-GUID Generator в Интернете, чтобы создать себе новое руководство.

Если вы используете это в Reflection C#, вы можете получить guid из атрибута свойства следующим образом

var propertyAttributes= property.GetCustomAttributes();
foreach(var attribute in propertyAttributes)
{
  var myguid= Guid.Parse(attribute.Id.ToString());
}


      // Create and display the value of two GUIDs.
Guid g = Guid.NewGuid();
Console.WriteLine(g);
Console.WriteLine(Guid.NewGuid());

// This code example produces a result similar to the following:

// 0f8fad5b-d9cb-469f-a165-70867728950e
// 7c9e6679-7425-40de-944b-e07fc1f90ae7

Если вы используете структуру ABP, рекомендуется использовать IGuidGenerator.Create() вместо Guid.NewGuid(). Это необходимо для обеспечения последовательности идентификаторов GUID и сокращения времени чтения/записи в базе данных. https://docs.abp.io/en/abp/latest/Guid-Generation#iguidgenerator

//Retrive your key ID on the bases of GUID 

declare @ID as uniqueidentifier

SET @ID=NEWID()
insert into Sector(Sector,CID)

Values ('Diry7',@ID)


select SECTORID from sector where CID=@ID
Другие вопросы по тегам