Telegram Group & Telegram Channel
🔥 UUID v7 в .NET 9

.NET изначально поддерживает UUID v4 через Guid.NewGuid().

При этом начиная с предварительной версии 7, появилась поддержка UUID версии 7.

📌 UUID v7


Так как GUID является альтернативным названием для UUID, новый API находится в пространстве имен System.Guid:


var guid = Guid.CreateVersion7();
var guidWithTimestamp = Guid.CreateVersion7(DateTimeOffset.UtcNow);


Главным преимуществом является включение метки времени в UUID. Это дает 122 бита энтропии, включая 6 бит для версии и варианта где-то посередине.

Главное преимущество заключается в том, что вы можете сортировать UUID по времени их создания, что делает их более подходящими для баз данных по сравнению с UUID v4.

📌 Контроль метки времени

Поскольку метод ожидает DateTimeOffset, вызывающая функция может использовать TimeProvider для контроля UtcNow:


var uuid = Guid.CreateVersion7(timeProvider.GetUtcNow());


timeProvider
может быть получен через DI контейнер и подделан в тестовых сценариях.

#csharp #dotnet #code

Источник

@csharp_1001_notes



tg-me.com/csharp_1001_notes/532
Create:
Last Update:

🔥 UUID v7 в .NET 9

.NET изначально поддерживает UUID v4 через Guid.NewGuid().

При этом начиная с предварительной версии 7, появилась поддержка UUID версии 7.

📌 UUID v7


Так как GUID является альтернативным названием для UUID, новый API находится в пространстве имен System.Guid:


var guid = Guid.CreateVersion7();
var guidWithTimestamp = Guid.CreateVersion7(DateTimeOffset.UtcNow);


Главным преимуществом является включение метки времени в UUID. Это дает 122 бита энтропии, включая 6 бит для версии и варианта где-то посередине.

Главное преимущество заключается в том, что вы можете сортировать UUID по времени их создания, что делает их более подходящими для баз данных по сравнению с UUID v4.

📌 Контроль метки времени

Поскольку метод ожидает DateTimeOffset, вызывающая функция может использовать TimeProvider для контроля UtcNow:


var uuid = Guid.CreateVersion7(timeProvider.GetUtcNow());


timeProvider
может быть получен через DI контейнер и подделан в тестовых сценариях.

#csharp #dotnet #code

Источник

@csharp_1001_notes

BY C# 1001 notes




Share with your friend now:
tg-me.com/csharp_1001_notes/532

View MORE
Open in Telegram


C 1001 notes Telegram | DID YOU KNOW?

Date: |

The lead from Wall Street offers little clarity as the major averages opened lower on Friday and then bounced back and forth across the unchanged line, finally finishing mixed and little changed.The Dow added 33.18 points or 0.10 percent to finish at 34,798.00, while the NASDAQ eased 4.54 points or 0.03 percent to close at 15,047.70 and the S&P 500 rose 6.50 points or 0.15 percent to end at 4,455.48. For the week, the Dow rose 0.6 percent, the NASDAQ added 0.1 percent and the S&P gained 0.5 percent.The lackluster performance on Wall Street came on uncertainty about the outlook for the markets following recent volatility.

The messaging service and social-media platform owes creditors roughly $700 million by the end of April, according to people briefed on the company’s plans and loan documents viewed by The Wall Street Journal. At the same time, Telegram Group Inc. must cover rising equipment and bandwidth expenses because of its rapid growth, despite going years without attempting to generate revenue.

C 1001 notes from ca


Telegram C# 1001 notes
FROM USA