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
Copy file name to clipboardexpand all lines: cheatsheet.md
+158-17
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,7 @@ The .NET Logo is copyright of the .NET authors. - https://github.com/dotnet/bran
21
21
## Changelog
22
22
23
23
* 2024.02.29 - Initial release
24
+
* 2024.03.08 - Generic math interfaces extended & various small improvements
24
25
25
26
# Dotnet basic commands
26
27
@@ -122,6 +123,22 @@ Globaly means that the tool is installed to the users profile, instead of the cu
122
123
123
124
More info: https://dotnet.microsoft.com/en-us/platform/upgrade-assistant
124
125
126
+
***SlnGen**
127
+
128
+
SlnGen is a Visual Studio solution file generator. Visual Studio solutions generally do not scale well for large project trees. They are scoped views of a set of projects. Enterprise-level builds use custom logic like traversal to convey how they should be built by a hosted build environment. Maintaining Visual Studio solutions becomes hard because you have to keep them in sync with the other build logic. Instead, SlnGen reads the project references of a given project to create a Visual Studio solution on demand. For example, you can run it against a unit test project and be presented with a Visual Studio solution containing the unit test project and all of its project references.
| float | 4 | 32 | -3.4028235 x 10<sup>38</sup> | 3.4028235 x 10<sup>38</sup> |
219
+
| double | 8 | 64 | -1.7976931348623157 x 10<sup>308</sup> | 1.7976931348623157 x 10<sup>308</sup> |
220
+
| decimal | 16 | 128 | -7.92 x 10 <sup>28</sup> | 7.92 x 10 <sup>28</sup> |
221
+
| Half | 2 | 16 | -65 504 | 65 504 |
195
222
196
223
Note: `nint` and `nuint` represent the platforms native integer type. For 32 bit systems this will be a 32 bit integer, so the limitations and properties of `int`
197
224
or `uint` aplies. On 64 bit systems the limitations and properties of `long` and `ulong` applies.
@@ -217,6 +244,120 @@ Note: `nint` and `nuint` represent the platforms native integer type. For 32 bit
217
244
218
245
## Generic Math Interfaces
219
246
247
+

248
+
249
+
* `IComparable<T>`
250
+
251
+
Defines a generalized comparison method that a value type or class implements to create a type-specific comparison method for ordering or sorting its instances.
252
+
253
+
* `IConvertible`
254
+
255
+
Defines methods that convert the value of the implementing reference or value type to a common language runtime type that has an equivalent value.
256
+
257
+
* `IEquatable<T>`
258
+
259
+
Defines a generalized method that a value type or class implements to create a type-specific method for determining equality of instances.
260
+
261
+
* `IParsable<T>`
262
+
263
+
Defines a mechanism for parsing a string to a value.
264
+
265
+
* `ISpanParsable<T>`
266
+
267
+
Defines a mechanism for parsing a span of characters to a value.
268
+
269
+
* `IAdditionOperators<TSelf,TSelf,TSelf>`
270
+
271
+
Defines a mechanism for computing the sum of two values. Provides operators: `+`
272
+
273
+
* `IBitwiseOperators<TSelf,TSelf,TSelf>`
274
+
275
+
Defines a mechanism for performing bitwise operations over two values. Provides operators: `&`, `|`, `^`, `~`
276
+
277
+
* `IComparisonOperators<TSelf,TSelf,bool>`
278
+
279
+
Defines a mechanism for comparing two values to determine relative order. Provides operators: `>`, `>=`, `<`, `<=`
280
+
281
+
* `IDecrementOperators<T>`
282
+
283
+
Defines a mechanism for decrementing a given value. Provides operators: `--`
284
+
285
+
* `IDivisionOperators<TSelf,TSelf,TSelf>`
286
+
287
+
Defines a mechanism for computing the quotient of two values. Provides operators: `/`
288
+
289
+
* `IEqualityOperators<TSelf,TSelf,bool>`
290
+
291
+
Defines a mechanism for comparing two values to determine equality. Provides operators: `==`, `!=`
292
+
293
+
* `IIncrementOperators<T>`
294
+
295
+
Defines a mechanism for incrementing a given value. Provides operators: `++`
296
+
297
+
* `IModulusOperators<TSelf,TSelf,TSelf>`
298
+
299
+
Defines a mechanism for computing the modulus or remainder of two values. Provides operators: `%`
300
+
301
+
* `IMultiplyOperators<TSelf,TSelf,TSelf>`
302
+
303
+
Defines a mechanism for computing the product of two values. Provides operators: `*`
304
+
305
+
* `IShiftOperators<TSelf,int,TSelf>`
306
+
307
+
Defines a mechanism for shifting a value by another value. Provides operators: `<<`, `>>`, `<<<`
308
+
309
+
* `ISubtractionOperators<TSelf,TSelf,TSelf>`
310
+
311
+
Defines a mechanism for computing the difference of two values. Provides operators: `-`
312
+
313
+
* `IUnaryNegationOperators<TSelf,TSelf>`
314
+
315
+
Defines a mechanism for computing the unary negation of a value. Provides operators: `-`
316
+
317
+
* `IUnaryPlusOperators<TSelf,TSelf>`
318
+
319
+
Defines a mechanism for computing the unary plus of a value. Provides operators: `+`
320
+
321
+
* `IAdditiveIdentity<TSelf,TSelf>`
322
+
323
+
Defines a mechanism for getting the additive identity of a given type.
324
+
325
+
* `IMultiplicativeIdentity<TSelf,TSelf>`
326
+
327
+
Defines a mechanism for getting the multiplicative identity of a given type.
328
+
329
+
* `IMinMaxValue<T>`
330
+
331
+
Defines a mechanism for getting the minimum and maximum value of a type.
332
+
333
+
* `IExponentialFunctions<T>`
334
+
335
+
Defines support for exponential functions.
336
+
337
+
* `IFloatingPointConstants<T>`
338
+
339
+
Defines support for floating-point constants, like `E`, `Pi`, `Tau`
0 commit comments