C# как создать значение Guid?
Одним из полей нашей структуры является тип Guid. Как создать действительное значение для него?
15 ответов
Есть два способа
var guid = Guid.NewGuid();
или же
var guid = Guid.NewGuid().ToString();
оба используют класс Guid, первый создает объект Guid, второй - строку Guid.
Чтобы сделать "пустой" все-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
,
Также есть 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