Struct Quantity<TNumber, TSystemOfMeasurement>
Represents a physical quantity.
[Serializable]
public readonly record struct Quantity<TNumber, TSystemOfMeasurement> : IEquatable<Quantity<TNumber, TSystemOfMeasurement>> where TNumber : IComplex<TNumber>, IDifferentiableFunctions<TNumber> where TSystemOfMeasurement : ISystemOfMeasurement<TSystemOfMeasurement>
Type Parameters
TNumber
The type that represents the value.
TSystemOfMeasurement
The system of measurement to use.
- Implements
-
IEquatable<Quantity<TNumber, TSystemOfMeasurement>>
- Inherited Members
Constructors
Quantity()
public Quantity()
Quantity(TNumber)
public Quantity(TNumber value)
Parameters
value
TNumber
Quantity(TNumber, Dimensions)
public Quantity(TNumber value, Dimensions dimensions)
Parameters
value
TNumberdimensions
Dimensions
Properties
Dimensions
The dimensions of the quantity.
public Dimensions Dimensions { get; }
Property Value
Units
The name of the system of measurement.
public string Units { get; }
Property Value
Value
The value of the quantity.
public TNumber Value { get; }
Property Value
- TNumber
Methods
VerifyDimensions(in Dimensions)
Check that the dimensions of the quantity are valid.
[Conditional("DIMENSIONS")]
public void VerifyDimensions(in Dimensions dimensions)
Parameters
dimensions
DimensionsThe dimensions to check against.
Exceptions
- DimensionalAnalysisException
Thrown when the quantity's dimensions do not match the specified dimensions.
Operators
operator +(Quantity<TNumber, TSystemOfMeasurement>, Quantity<TNumber, TSystemOfMeasurement>)
public static Quantity<TNumber, TSystemOfMeasurement> operator +(Quantity<TNumber, TSystemOfMeasurement> z, Quantity<TNumber, TSystemOfMeasurement> w)
Parameters
Returns
- Quantity<TNumber, TSystemOfMeasurement>
operator /(Quantity<TNumber, TSystemOfMeasurement>, Quantity<TNumber, TSystemOfMeasurement>)
public static Quantity<TNumber, TSystemOfMeasurement> operator /(Quantity<TNumber, TSystemOfMeasurement> z, Quantity<TNumber, TSystemOfMeasurement> w)
Parameters
Returns
- Quantity<TNumber, TSystemOfMeasurement>
operator *(Quantity<TNumber, TSystemOfMeasurement>, Quantity<TNumber, TSystemOfMeasurement>)
public static Quantity<TNumber, TSystemOfMeasurement> operator *(Quantity<TNumber, TSystemOfMeasurement> z, Quantity<TNumber, TSystemOfMeasurement> w)
Parameters
Returns
- Quantity<TNumber, TSystemOfMeasurement>
operator -(Quantity<TNumber, TSystemOfMeasurement>, Quantity<TNumber, TSystemOfMeasurement>)
public static Quantity<TNumber, TSystemOfMeasurement> operator -(Quantity<TNumber, TSystemOfMeasurement> z, Quantity<TNumber, TSystemOfMeasurement> w)
Parameters
Returns
- Quantity<TNumber, TSystemOfMeasurement>
operator -(Quantity<TNumber, TSystemOfMeasurement>)
public static Quantity<TNumber, TSystemOfMeasurement> operator -(Quantity<TNumber, TSystemOfMeasurement> z)
Parameters
z
Quantity<TNumber, TSystemOfMeasurement>
Returns
- Quantity<TNumber, TSystemOfMeasurement>
operator +(Quantity<TNumber, TSystemOfMeasurement>)
public static Quantity<TNumber, TSystemOfMeasurement> operator +(Quantity<TNumber, TSystemOfMeasurement> z)
Parameters
z
Quantity<TNumber, TSystemOfMeasurement>
Returns
- Quantity<TNumber, TSystemOfMeasurement>