# C1.Util.DX.DXUtil

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Util_DX_DXUtil" data-uid="C1.Util.DX.DXUtil" class="text-break">DXUtil Class
</h1>
  <div class="markdown level0 summary"><p>Utility class.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><span class="xref">DXUtil</span></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.Util.DX.html">C1.Util.DX</a></h6>
  <h6><strong>Assembly</strong>: C1.Win.DX.10.dll</h6>
  <h5 id="C1_Util_DX_DXUtil_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static class DXUtil</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Module DXUtil</code></pre>
  </div>
  <h3 id="fields">Fields
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_DXUtil_ToDegrees" data-uid="C1.Util.DX.DXUtil.ToDegrees">
          <a class="xref" href="C1.Util.DX.DXUtil.ToDegrees.html">ToDegrees</a>
        </td>
        <td class="markdown level1 summary"><p>The multiplier for conversion from radians to degrees.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_ToRadians" data-uid="C1.Util.DX.DXUtil.ToRadians">
          <a class="xref" href="C1.Util.DX.DXUtil.ToRadians.html">ToRadians</a>
        </td>
        <td class="markdown level1 summary"><p>The multiplier for conversion from degrees to radians.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_ZeroTolerance" data-uid="C1.Util.DX.DXUtil.ZeroTolerance">
          <a class="xref" href="C1.Util.DX.DXUtil.ZeroTolerance.html">ZeroTolerance</a>
        </td>
        <td class="markdown level1 summary"><p>The value for which all absolute numbers smaller than are considered equal to zero.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_DXUtil_AllocateClearedMemory_System_Int32_System_Byte_System_Int32_" data-uid="C1.Util.DX.DXUtil.AllocateClearedMemory(System.Int32,System.Byte,System.Int32)">
          <a class="xref" href="C1.Util.DX.DXUtil.AllocateClearedMemory.html#C1_Util_DX_DXUtil_AllocateClearedMemory_System_Int32_System_Byte_System_Int32_">AllocateClearedMemory(int, byte, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Allocate an aligned memory buffer and clear it with a specified value (0 by default).</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_AllocateMemory_System_Int32_System_Int32_" data-uid="C1.Util.DX.DXUtil.AllocateMemory(System.Int32,System.Int32)">
          <a class="xref" href="C1.Util.DX.DXUtil.AllocateMemory.html#C1_Util_DX_DXUtil_AllocateMemory_System_Int32_System_Int32_">AllocateMemory(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Allocate an aligned memory buffer.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Any__1_System_Collections_Generic_IEnumerable___0__" data-uid="C1.Util.DX.DXUtil.Any``1(System.Collections.Generic.IEnumerable{``0})">
          <a class="xref" href="C1.Util.DX.DXUtil.Any.html#C1_Util_DX_DXUtil_Any__1_System_Collections_Generic_IEnumerable___0__">Any&lt;T&gt;(IEnumerable&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Test if there is an element in this enumeration.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Array__1___0_System_Int32_" data-uid="C1.Util.DX.DXUtil.Array``1(``0,System.Int32)">
          <a class="xref" href="C1.Util.DX.DXUtil.Array.html#C1_Util_DX_DXUtil_Array__1___0_System_Int32_">Array&lt;T&gt;(T, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates an Array of count elements with the given value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_BuildPropertyGetter__1_System_Type_System_Reflection_PropertyInfo_" data-uid="C1.Util.DX.DXUtil.BuildPropertyGetter``1(System.Type,System.Reflection.PropertyInfo)">
          <a class="xref" href="C1.Util.DX.DXUtil.BuildPropertyGetter.html#C1_Util_DX_DXUtil_BuildPropertyGetter__1_System_Type_System_Reflection_PropertyInfo_">BuildPropertyGetter&lt;T&gt;(Type, PropertyInfo)</a>
        </td>
        <td class="markdown level1 summary"><p>Builds a fast property getter from a type and a property info.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_BuildPropertySetter__1_System_Type_System_Reflection_PropertyInfo_" data-uid="C1.Util.DX.DXUtil.BuildPropertySetter``1(System.Type,System.Reflection.PropertyInfo)">
          <a class="xref" href="C1.Util.DX.DXUtil.BuildPropertySetter.html#C1_Util_DX_DXUtil_BuildPropertySetter__1_System_Type_System_Reflection_PropertyInfo_">BuildPropertySetter&lt;T&gt;(Type, PropertyInfo)</a>
        </td>
        <td class="markdown level1 summary"><p>Builds a fast property setter from a type and a property info.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Clamp_System_Int32_System_Int32_System_Int32_" data-uid="C1.Util.DX.DXUtil.Clamp(System.Int32,System.Int32,System.Int32)">
          <a class="xref" href="C1.Util.DX.DXUtil.Clamp.html#C1_Util_DX_DXUtil_Clamp_System_Int32_System_Int32_System_Int32_">Clamp(int, int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Clamps the specified value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Clamp_System_Single_System_Single_System_Single_" data-uid="C1.Util.DX.DXUtil.Clamp(System.Single,System.Single,System.Single)">
          <a class="xref" href="C1.Util.DX.DXUtil.Clamp.html#C1_Util_DX_DXUtil_Clamp_System_Single_System_Single_System_Single_">Clamp(float, float, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Clamps the specified value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_ClearMemory_System_IntPtr_System_Byte_System_Int32_" data-uid="C1.Util.DX.DXUtil.ClearMemory(System.IntPtr,System.Byte,System.Int32)">
          <a class="xref" href="C1.Util.DX.DXUtil.ClearMemory.html#C1_Util_DX_DXUtil_ClearMemory_System_IntPtr_System_Byte_System_Int32_">ClearMemory(nint, byte, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Clears the memory.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Compare_System_Collections_IEnumerator_System_Collections_IEnumerator_" data-uid="C1.Util.DX.DXUtil.Compare(System.Collections.IEnumerator,System.Collections.IEnumerator)">
          <a class="xref" href="C1.Util.DX.DXUtil.Compare.html#C1_Util_DX_DXUtil_Compare_System_Collections_IEnumerator_System_Collections_IEnumerator_">Compare(IEnumerator, IEnumerator)</a>
        </td>
        <td class="markdown level1 summary"><p>Compares two collection, element by elements.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_CompareMemory_System_IntPtr_System_IntPtr_System_Int32_" data-uid="C1.Util.DX.DXUtil.CompareMemory(System.IntPtr,System.IntPtr,System.Int32)">
          <a class="xref" href="C1.Util.DX.DXUtil.CompareMemory.html#C1_Util_DX_DXUtil_CompareMemory_System_IntPtr_System_IntPtr_System_Int32_">CompareMemory(nint, nint, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Compares two block of memory.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_ConvertToBoolArray_C1_Util_DX_Bool___" data-uid="C1.Util.DX.DXUtil.ConvertToBoolArray(C1.Util.DX.Bool[])">
          <a class="xref" href="C1.Util.DX.DXUtil.ConvertToBoolArray.html#C1_Util_DX_DXUtil_ConvertToBoolArray_C1_Util_DX_Bool___">ConvertToBoolArray(Bool[])</a>
        </td>
        <td class="markdown level1 summary"><p>Converts <a class="xref" href="C1.Util.DX.Bool.html">Bool</a> array to bool array.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_CopyMemory_System_IntPtr_System_IntPtr_System_Int32_" data-uid="C1.Util.DX.DXUtil.CopyMemory(System.IntPtr,System.IntPtr,System.Int32)">
          <a class="xref" href="C1.Util.DX.DXUtil.CopyMemory.html#C1_Util_DX_DXUtil_CopyMemory_System_IntPtr_System_IntPtr_System_Int32_">CopyMemory(nint, nint, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Native memcpy.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Dispose__1___0__" data-uid="C1.Util.DX.DXUtil.Dispose``1(``0@)">
          <a class="xref" href="C1.Util.DX.DXUtil.Dispose.html#C1_Util_DX_DXUtil_Dispose__1___0__">Dispose&lt;T&gt;(ref T)</a>
        </td>
        <td class="markdown level1 summary"><p>Safely dispose a referencem if not null, and set it to null after dispose.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Distinct__1_System_Collections_Generic_IEnumerable___0__System_Collections_Generic_IEqualityComparer___0__" data-uid="C1.Util.DX.DXUtil.Distinct``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
          <a class="xref" href="C1.Util.DX.DXUtil.Distinct.html#C1_Util_DX_DXUtil_Distinct__1_System_Collections_Generic_IEnumerable___0__System_Collections_Generic_IEqualityComparer___0__">Distinct&lt;TSource&gt;(IEnumerable&lt;TSource&gt;, IEqualityComparer&lt;TSource&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Selects distinct elements from an enumeration.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_FreeDisposedShadowPointers" data-uid="C1.Util.DX.DXUtil.FreeDisposedShadowPointers">
          <a class="xref" href="C1.Util.DX.DXUtil.FreeDisposedShadowPointers.html#C1_Util_DX_DXUtil_FreeDisposedShadowPointers">FreeDisposedShadowPointers()</a>
        </td>
        <td class="markdown level1 summary"><p>Releases native pointers to already disposed shadow objects.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_FreeMemory_System_IntPtr_" data-uid="C1.Util.DX.DXUtil.FreeMemory(System.IntPtr)">
          <a class="xref" href="C1.Util.DX.DXUtil.FreeMemory.html#C1_Util_DX_DXUtil_FreeMemory_System_IntPtr_">FreeMemory(nint)</a>
        </td>
        <td class="markdown level1 summary"><p>Allocate an aligned memory buffer.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_GetCustomAttribute__1_System_Reflection_MemberInfo_System_Boolean_" data-uid="C1.Util.DX.DXUtil.GetCustomAttribute``1(System.Reflection.MemberInfo,System.Boolean)">
          <a class="xref" href="C1.Util.DX.DXUtil.GetCustomAttribute.html#C1_Util_DX_DXUtil_GetCustomAttribute__1_System_Reflection_MemberInfo_System_Boolean_">GetCustomAttribute&lt;T&gt;(MemberInfo, bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the custom attribute.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_GetCustomAttributes__1_System_Reflection_MemberInfo_System_Boolean_" data-uid="C1.Util.DX.DXUtil.GetCustomAttributes``1(System.Reflection.MemberInfo,System.Boolean)">
          <a class="xref" href="C1.Util.DX.DXUtil.GetCustomAttributes.html#C1_Util_DX_DXUtil_GetCustomAttributes__1_System_Reflection_MemberInfo_System_Boolean_">GetCustomAttributes&lt;T&gt;(MemberInfo, bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the custom attributes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_GetGuidFromType_System_Type_" data-uid="C1.Util.DX.DXUtil.GetGuidFromType(System.Type)">
          <a class="xref" href="C1.Util.DX.DXUtil.GetGuidFromType.html#C1_Util_DX_DXUtil_GetGuidFromType_System_Type_">GetGuidFromType(Type)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.guid">Guid</a> from a type.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_IsAssignableFrom_System_Type_System_Type_" data-uid="C1.Util.DX.DXUtil.IsAssignableFrom(System.Type,System.Type)">
          <a class="xref" href="C1.Util.DX.DXUtil.IsAssignableFrom.html#C1_Util_DX_DXUtil_IsAssignableFrom_System_Type_System_Type_">IsAssignableFrom(Type, Type)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether fromType can be assigned to toType.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_IsEnum_System_Type_" data-uid="C1.Util.DX.DXUtil.IsEnum(System.Type)">
          <a class="xref" href="C1.Util.DX.DXUtil.IsEnum.html#C1_Util_DX_DXUtil_IsEnum_System_Type_">IsEnum(Type)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the specified type to test is an enum.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_IsOne_System_Single_" data-uid="C1.Util.DX.DXUtil.IsOne(System.Single)">
          <a class="xref" href="C1.Util.DX.DXUtil.IsOne.html#C1_Util_DX_DXUtil_IsOne_System_Single_">IsOne(float)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the specified value is close to one (1.0f).</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_IsValueType_System_Type_" data-uid="C1.Util.DX.DXUtil.IsValueType(System.Type)">
          <a class="xref" href="C1.Util.DX.DXUtil.IsValueType.html#C1_Util_DX_DXUtil_IsValueType_System_Type_">IsValueType(Type)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the specified type to test is a value type.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_IsZero_System_Single_" data-uid="C1.Util.DX.DXUtil.IsZero(System.Single)">
          <a class="xref" href="C1.Util.DX.DXUtil.IsZero.html#C1_Util_DX_DXUtil_IsZero_System_Single_">IsZero(float)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the specified value is close to zero (0.0f).</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Join_System_String_System_Collections_IEnumerator_" data-uid="C1.Util.DX.DXUtil.Join(System.String,System.Collections.IEnumerator)">
          <a class="xref" href="C1.Util.DX.DXUtil.Join.html#C1_Util_DX_DXUtil_Join_System_String_System_Collections_IEnumerator_">Join(string, IEnumerator)</a>
        </td>
        <td class="markdown level1 summary"><p>String helper join method to display an enumrable of object as a single string.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Lerp_System_Double_System_Double_System_Double_" data-uid="C1.Util.DX.DXUtil.Lerp(System.Double,System.Double,System.Double)">
          <a class="xref" href="C1.Util.DX.DXUtil.Lerp.html#C1_Util_DX_DXUtil_Lerp_System_Double_System_Double_System_Double_">Lerp(double, double, double)</a>
        </td>
        <td class="markdown level1 summary"><p>Interpolates between two values using a linear function by a given amount.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Lerp_System_Single_System_Single_System_Single_" data-uid="C1.Util.DX.DXUtil.Lerp(System.Single,System.Single,System.Single)">
          <a class="xref" href="C1.Util.DX.DXUtil.Lerp.html#C1_Util_DX_DXUtil_Lerp_System_Single_System_Single_System_Single_">Lerp(float, float, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Interpolates between two values using a linear function by a given amount.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_NearEqual_System_Single_System_Single_" data-uid="C1.Util.DX.DXUtil.NearEqual(System.Single,System.Single)">
          <a class="xref" href="C1.Util.DX.DXUtil.NearEqual.html#C1_Util_DX_DXUtil_NearEqual_System_Single_System_Single_">NearEqual(float, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Checks if a and b are almost equals, taking into account the magnitude of floating point numbers. See Remarks.
See remarks.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Pin__1___0__System_Action_System_IntPtr__" data-uid="C1.Util.DX.DXUtil.Pin``1(``0@,System.Action{System.IntPtr})">
          <a class="xref" href="C1.Util.DX.DXUtil.Pin.html#C1_Util_DX_DXUtil_Pin__1___0__System_Action_System_IntPtr__">Pin&lt;T&gt;(ref T, Action&lt;nint&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Pins the specified source and call an action with the pinned pointer.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Pin__1___0___System_Action_System_IntPtr__" data-uid="C1.Util.DX.DXUtil.Pin``1(``0[],System.Action{System.IntPtr})">
          <a class="xref" href="C1.Util.DX.DXUtil.Pin.html#C1_Util_DX_DXUtil_Pin__1___0___System_Action_System_IntPtr__">Pin&lt;T&gt;(T[], Action&lt;nint&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Pins the specified source and call an action with the pinned pointer.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_PtrToStringUni_System_IntPtr_System_Int32_" data-uid="C1.Util.DX.DXUtil.PtrToStringUni(System.IntPtr,System.Int32)">
          <a class="xref" href="C1.Util.DX.DXUtil.PtrToStringUni.html#C1_Util_DX_DXUtil_PtrToStringUni_System_IntPtr_System_Int32_">PtrToStringUni(nint, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Converts a pointer to a null-terminating string up to maxLength characters to a .Net string.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_ReadAndPosition__1_System_IntPtr___0__" data-uid="C1.Util.DX.DXUtil.ReadAndPosition``1(System.IntPtr,``0@)">
          <a class="xref" href="C1.Util.DX.DXUtil.ReadAndPosition.html#C1_Util_DX_DXUtil_ReadAndPosition__1_System_IntPtr___0__">ReadAndPosition&lt;T&gt;(nint, ref T)</a>
        </td>
        <td class="markdown level1 summary"><p>Reads the specified T data from a memory location.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_ReadOut__1_System_IntPtr___0__" data-uid="C1.Util.DX.DXUtil.ReadOut``1(System.IntPtr,``0@)">
          <a class="xref" href="C1.Util.DX.DXUtil.ReadOut.html#C1_Util_DX_DXUtil_ReadOut__1_System_IntPtr___0__">ReadOut&lt;T&gt;(nint, out T)</a>
        </td>
        <td class="markdown level1 summary"><p>Reads the specified T data from a memory location.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_ReadStream_System_IO_Stream_System_Int32__" data-uid="C1.Util.DX.DXUtil.ReadStream(System.IO.Stream,System.Int32@)">
          <a class="xref" href="C1.Util.DX.DXUtil.ReadStream.html#C1_Util_DX_DXUtil_ReadStream_System_IO_Stream_System_Int32__">ReadStream(Stream, ref int)</a>
        </td>
        <td class="markdown level1 summary"><p>Read stream to a byte[] buffer.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Read__1_System_IntPtr_" data-uid="C1.Util.DX.DXUtil.Read``1(System.IntPtr)">
          <a class="xref" href="C1.Util.DX.DXUtil.Read.html#C1_Util_DX_DXUtil_Read__1_System_IntPtr_">Read&lt;T&gt;(nint)</a>
        </td>
        <td class="markdown level1 summary"><p>Reads the specified T data from a memory location.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Read__1_System_IntPtr___0__" data-uid="C1.Util.DX.DXUtil.Read``1(System.IntPtr,``0@)">
          <a class="xref" href="C1.Util.DX.DXUtil.Read.html#C1_Util_DX_DXUtil_Read__1_System_IntPtr___0__">Read&lt;T&gt;(nint, ref T)</a>
        </td>
        <td class="markdown level1 summary"><p>Reads the specified T data from a memory location.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Read__1_System_IntPtr___0___System_Int32_System_Int32_" data-uid="C1.Util.DX.DXUtil.Read``1(System.IntPtr,``0[],System.Int32,System.Int32)">
          <a class="xref" href="C1.Util.DX.DXUtil.Read.html#C1_Util_DX_DXUtil_Read__1_System_IntPtr___0___System_Int32_System_Int32_">Read&lt;T&gt;(nint, T[], int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Reads the specified array T[] data from a memory location.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_SelectMany__2_System_Collections_Generic_IEnumerable___0__C1_Util_DX_Func___0_System_Collections_Generic_IEnumerable___1___" data-uid="C1.Util.DX.DXUtil.SelectMany``2(System.Collections.Generic.IEnumerable{``0},C1.Util.DX.Func{``0,System.Collections.Generic.IEnumerable{``1}})">
          <a class="xref" href="C1.Util.DX.DXUtil.SelectMany.html#C1_Util_DX_DXUtil_SelectMany__2_System_Collections_Generic_IEnumerable___0__C1_Util_DX_Func___0_System_Collections_Generic_IEnumerable___1___">SelectMany&lt;TSource, TResult&gt;(IEnumerable&lt;TSource&gt;, Func&lt;TSource, IEnumerable&lt;TResult&gt;&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Select elements from an enumeration.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_SizeOf__1" data-uid="C1.Util.DX.DXUtil.SizeOf``1">
          <a class="xref" href="C1.Util.DX.DXUtil.SizeOf.html#C1_Util_DX_DXUtil_SizeOf__1">SizeOf&lt;T&gt;()</a>
        </td>
        <td class="markdown level1 summary"><p>Return the sizeof a struct from a CLR. Equivalent to sizeof operator but works on generics too.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_SizeOf__1___0___" data-uid="C1.Util.DX.DXUtil.SizeOf``1(``0[])">
          <a class="xref" href="C1.Util.DX.DXUtil.SizeOf.html#C1_Util_DX_DXUtil_SizeOf__1___0___">SizeOf&lt;T&gt;(T[])</a>
        </td>
        <td class="markdown level1 summary"><p>Return the sizeof an array of struct. Equivalent to sizeof operator but works on generics too.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Sleep_System_TimeSpan_" data-uid="C1.Util.DX.DXUtil.Sleep(System.TimeSpan)">
          <a class="xref" href="C1.Util.DX.DXUtil.Sleep.html#C1_Util_DX_DXUtil_Sleep_System_TimeSpan_">Sleep(TimeSpan)</a>
        </td>
        <td class="markdown level1 summary"><p>Suspends the current thread.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_StringToHGlobalAnsi_System_String_" data-uid="C1.Util.DX.DXUtil.StringToHGlobalAnsi(System.String)">
          <a class="xref" href="C1.Util.DX.DXUtil.StringToHGlobalAnsi.html#C1_Util_DX_DXUtil_StringToHGlobalAnsi_System_String_">StringToHGlobalAnsi(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_StringToHGlobalUni_System_String_" data-uid="C1.Util.DX.DXUtil.StringToHGlobalUni(System.String)">
          <a class="xref" href="C1.Util.DX.DXUtil.StringToHGlobalUni.html#C1_Util_DX_DXUtil_StringToHGlobalUni_System_String_">StringToHGlobalUni(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Copies the contents of a managed String into unmanaged memory.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_ToArray__1_System_Collections_Generic_IEnumerable___0__" data-uid="C1.Util.DX.DXUtil.ToArray``1(System.Collections.Generic.IEnumerable{``0})">
          <a class="xref" href="C1.Util.DX.DXUtil.ToArray.html#C1_Util_DX_DXUtil_ToArray__1_System_Collections_Generic_IEnumerable___0__">ToArray&lt;T&gt;(IEnumerable&lt;T&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Transforms an <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable&lt;T&gt;</a> to an array of T.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_ToByteArray__1___0___" data-uid="C1.Util.DX.DXUtil.ToByteArray``1(``0[])">
          <a class="xref" href="C1.Util.DX.DXUtil.ToByteArray.html#C1_Util_DX_DXUtil_ToByteArray__1___0___">ToByteArray&lt;T&gt;(T[])</a>
        </td>
        <td class="markdown level1 summary"><p>Converts a structured array to an equivalent byte array.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_WithinEpsilon_System_Single_System_Single_System_Single_" data-uid="C1.Util.DX.DXUtil.WithinEpsilon(System.Single,System.Single,System.Single)">
          <a class="xref" href="C1.Util.DX.DXUtil.WithinEpsilon.html#C1_Util_DX_DXUtil_WithinEpsilon_System_Single_System_Single_System_Single_">WithinEpsilon(float, float, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Checks if a - b are almost equals within a float epsilon.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_WriteAndPosition__1_System_IntPtr___0__" data-uid="C1.Util.DX.DXUtil.WriteAndPosition``1(System.IntPtr,``0@)">
          <a class="xref" href="C1.Util.DX.DXUtil.WriteAndPosition.html#C1_Util_DX_DXUtil_WriteAndPosition__1_System_IntPtr___0__">WriteAndPosition&lt;T&gt;(nint, ref T)</a>
        </td>
        <td class="markdown level1 summary"><p>Writes the specified T data to a memory location.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Write__1_System_IntPtr___0__" data-uid="C1.Util.DX.DXUtil.Write``1(System.IntPtr,``0@)">
          <a class="xref" href="C1.Util.DX.DXUtil.Write.html#C1_Util_DX_DXUtil_Write__1_System_IntPtr___0__">Write&lt;T&gt;(nint, ref T)</a>
        </td>
        <td class="markdown level1 summary"><p>Writes the specified T data to a memory location.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXUtil_Write__1_System_IntPtr___0___System_Int32_System_Int32_" data-uid="C1.Util.DX.DXUtil.Write``1(System.IntPtr,``0[],System.Int32,System.Int32)">
          <a class="xref" href="C1.Util.DX.DXUtil.Write.html#C1_Util_DX_DXUtil_Write__1_System_IntPtr___0___System_Int32_System_Int32_">Write&lt;T&gt;(nint, T[], int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Writes the specified array T[] data to a memory location.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
