You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# WFO1000: A property should determine its property content serialization with the DesignerSerializationVisibilityAttribute, DefaultValueAttribute or the ShouldSerializeProperty method
UUID is a modern and efficient unique identifier generator for .NET ecosystem. This high-performance library is designed for modern distributed systems, providing thread-safe operations and time-ordered identifiers with enhanced security features.
20
+
21
+
## Contributors
22
+
23
+
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Binaries for all platforms are built from a single Visual Studio Project. You will need the latset [Visual Studio](https://visualstudio.microsoft.com/downloads) to build or contribute to UUID.
121
+
122
+
## Features
123
+
124
+
-**High Performance & Thread Safety**
125
+
- Thread-safe operations optimized for performance
126
+
- Thread-local secure random generation
127
+
- Efficient memory usage with 16-byte format
128
+
129
+
-**Time-Based Ordering**
130
+
- Natural sorting based on creation time
131
+
- Monotonic timestamps for consistent ordering
132
+
- Perfect for distributed systems and databases
133
+
134
+
-**Security**
135
+
- Cryptographically secure random generation
136
+
- Enhanced protection against prediction and collision
137
+
138
+
-**Multiple Format Support**
139
+
- Base32 encoding for URL-friendly strings
140
+
- Base64 encoding for compact representation
141
+
- System.Guid compatibility
142
+
- Efficient string parsing and formatting
143
+
144
+
-**Rich API**
145
+
- Implicit/explicit conversion operators
146
+
- Comparison and equality operations
147
+
- Comprehensive test coverage
148
+
- Cross-platform compatibility
149
+
150
+
## Getting started
151
+
152
+
UUID is distributed via Microsofts package manager [NuGet](https://www.nuget.org). We refer to [this page](https://docs.microsoft.com/en-gb/nuget) for detailed descriptions on how to get started/use NuGet. Here is a link to the [UUID NuGet package](https://www.nuget.org/packages/UUID).
153
+
You can grab a copy of the library on NuGet by running:
154
+
155
+
By Package Manager (PM):
156
+
```sh
157
+
Install-Package UUID
158
+
```
159
+
160
+
By .NET CLI:
161
+
```sh
162
+
dotnet add package UUID
163
+
```
164
+
165
+
## Quick Start
166
+
167
+
```csharp
168
+
usingUUID;
169
+
170
+
// Generate a new UUID
171
+
UUIDid=UUID.New();
172
+
173
+
// Convert to string formats
174
+
stringstr=id.ToString(); // Standard format
175
+
stringbase32=id.ToBase32(); // URL-friendly
176
+
stringbase64=id.ToBase64(); // Compact
177
+
178
+
// Parse from string
179
+
UUIDparsed=UUID.Parse(str);
180
+
boolsuccess=UUID.TryParse(str, outUUIDresult);
181
+
182
+
// System.Guid compatibility
183
+
Guidguid=id.ToGuid();
184
+
UUIDfromGuid=UUID.FromGuid(guid);
185
+
186
+
// Implicit/Explicit conversions
187
+
UUIDimplicitFromGuid=guid; // Implicit
188
+
GuidexplicitToGuid= (Guid)id; // Explicit
189
+
190
+
// Time component
191
+
DateTimeOffsettimestamp=id.Time;
192
+
193
+
// Comparison operations
194
+
boolequals=id==parsed;
195
+
boollessThan=id<parsed;
196
+
```
197
+
198
+
## Documentation and Support
199
+
200
+
To learn more about UUID, check out our [documentation](https://github.com/Taiizor/UUID/wiki). You can get help via:
Would you like to help make UUID even better? We keep a list of issues that are approachable for newcomers under the [solved](https://github.com/Taiizor/UUID/issues?q=is%3Aissue+label%3Asolved) label (accessible only when logged into GitHub). Before starting work on a pull request, we suggest commenting on, or raising, an issue on the issue tracker so that we can help and coordinate efforts.
209
+
210
+
When contributing please keep in mind our [Code of Conduct](CODE_OF_CONDUCT.md).
0 commit comments