﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.9.1/dotnetdoc/api/Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<!-- Yandex.Metrika counter -->
    <script type="text/javascript" >
      (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
      m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
      (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
    
      ym(72949126, "init", {
           clickmap:true,
           trackLinks:true,
           accurateTrackBounce:true,
           webvisor:true
      });
    </script>
    <noscript><div><img src="https://mc.yandex.ru/watch/72949126" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
    <!-- /Yandex.Metrika counter -->
<script type='text/javascript'>
    window.__lo_site_id = 284467;
    
      (function() {
        var wa = document.createElement('script'); wa.type = 'text/javascript'; wa.async = true;
        wa.src = 'https://d10lpsik1i8c69.cloudfront.net/w.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wa, s);
        })();
      </script>


    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Struct AffinityTopologyVersion
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Struct AffinityTopologyVersion
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.24.0.0">
    
    <link rel="shortcut icon" href="../images/favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    <meta property="docfx:rel" content="../">
    
  
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
  <body data-spy="scroll" data-target="#affix">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items"></div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion">
  
  
  <h1 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion" class="text-break">Struct AffinityTopologyVersion
  </h1>
  <div class="markdown level0 summary"><p>Affinity topology version.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><span class="xref">System.IEquatable</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a>&gt;</div>
    <div><span class="xref">System.IComparable</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a>&gt;</div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Cache.Affinity.html">Apache.Ignite.Core.Cache.Affinity</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public struct AffinityTopologyVersion : IEquatable&lt;AffinityTopologyVersion&gt;, IComparable&lt;AffinityTopologyVersion&gt;</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion__ctor_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion__ctor_System_Int64_System_Int32_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.#ctor(System.Int64,System.Int32)">AffinityTopologyVersion(Int64, Int32)</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a> struct.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public AffinityTopologyVersion(long version, int minorVersion)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td><span class="parametername">version</span></td>
        <td><p>The version.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">minorVersion</span></td>
        <td><p>The minor version.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_MinorVersion_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.MinorVersion*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_MinorVersion" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.MinorVersion">MinorVersion</h4>
  <div class="markdown level1 summary"><p>Gets the minor version, which is increased when new caches start.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int MinorVersion { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Version_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.Version*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Version" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.Version">Version</h4>
  <div class="markdown level1 summary"><p>Gets the major version, same as <a class="xref" href="Apache.Ignite.Core.Cluster.ICluster.html#Apache_Ignite_Core_Cluster_ICluster_TopologyVersion">TopologyVersion</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public long Version { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_CompareTo_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.CompareTo*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_CompareTo_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.CompareTo(Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion)">CompareTo(AffinityTopologyVersion)</h4>
  <div class="markdown level1 summary"><p>Compares the current instance with another object of the same type and returns an integer that indicates
whether the current instance precedes, follows,
or occurs in the same position in the sort order as the other object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int CompareTo(AffinityTopologyVersion other)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">other</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Equals_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.Equals*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Equals_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.Equals(Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion)">Equals(AffinityTopologyVersion)</h4>
  <div class="markdown level1 summary"><p>Indicates whether the current object is equal to another object of the same type.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool Equals(AffinityTopologyVersion other)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">other</span></td>
        <td><p>An object to compare with this object.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>true if the current object is equal to the <code data-dev-comment-type="paramref" class="paramref">other</code> parameter; otherwise, false.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Equals_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.Equals*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Equals_System_Object_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.Equals(System.Object)">Equals(Object)</h4>
  <div class="markdown level1 summary"><p>Determines whether the specified <span class="xref">System.Object</span>, is equal to this instance.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override bool Equals(object obj)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><span class="parametername">obj</span></td>
        <td><p>The <span class="xref">System.Object</span> to compare with this instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p><code>true</code> if the specified <span class="xref">System.Object</span> is equal to this instance; otherwise, 
<code>false</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">System.ValueType.Equals(System.Object)</span></div>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_GetHashCode_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.GetHashCode*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_GetHashCode" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.GetHashCode">GetHashCode()</h4>
  <div class="markdown level1 summary"><p>Returns a hash code for this instance.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override int GetHashCode()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. </p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">System.ValueType.GetHashCode()</span></div>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_ToString_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.ToString*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_ToString" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.ToString">ToString()</h4>
  <div class="markdown level1 summary"><p>Returns a <span class="xref">System.String</span> that represents this instance.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override string ToString()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><p>A <span class="xref">System.String</span> that represents this instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">System.ValueType.ToString()</span></div>
  <h3 id="operators">Operators
  </h3>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_Equality_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_Equality*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_Equality_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_Equality(Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion,Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion)">Equality(AffinityTopologyVersion, AffinityTopologyVersion)</h4>
  <div class="markdown level1 summary"><p>Implements the operator ==.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static bool operator ==(AffinityTopologyVersion left, AffinityTopologyVersion right)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">left</span></td>
        <td><p>The left operand.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">right</span></td>
        <td><p>The right operand.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>The result of the operator.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_GreaterThan_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_GreaterThan*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_GreaterThan_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_GreaterThan(Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion,Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion)">GreaterThan(AffinityTopologyVersion, AffinityTopologyVersion)</h4>
  <div class="markdown level1 summary"><p>Implements the operator &apos;greater than&apos;.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static bool operator&gt;(AffinityTopologyVersion left, AffinityTopologyVersion right)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">left</span></td>
        <td><p>The left operand.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">right</span></td>
        <td><p>The right operand.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>The result of the operator.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_GreaterThanOrEqual_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_GreaterThanOrEqual*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_GreaterThanOrEqual_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_GreaterThanOrEqual(Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion,Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion)">GreaterThanOrEqual(AffinityTopologyVersion, AffinityTopologyVersion)</h4>
  <div class="markdown level1 summary"><p>Implements the operator &apos;greater or equal than&apos;.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static bool operator &gt;=(AffinityTopologyVersion left, AffinityTopologyVersion right)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">left</span></td>
        <td><p>The left operand.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">right</span></td>
        <td><p>The right operand.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>The result of the operator.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_Inequality_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_Inequality*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_Inequality_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_Inequality(Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion,Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion)">Inequality(AffinityTopologyVersion, AffinityTopologyVersion)</h4>
  <div class="markdown level1 summary"><p>Implements the operator !=.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static bool operator !=(AffinityTopologyVersion left, AffinityTopologyVersion right)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">left</span></td>
        <td><p>The left operand.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">right</span></td>
        <td><p>The right operand.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>The result of the operator.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_LessThan_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_LessThan*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_LessThan_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_LessThan(Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion,Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion)">LessThan(AffinityTopologyVersion, AffinityTopologyVersion)</h4>
  <div class="markdown level1 summary"><p>Implements the operator &apos;less than&apos;.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static bool operator &lt;(AffinityTopologyVersion left, AffinityTopologyVersion right)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">left</span></td>
        <td><p>The left operand.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">right</span></td>
        <td><p>The right operand.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>The result of the operator.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_LessThanOrEqual_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_LessThanOrEqual*"></a>
  <h4 id="Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_op_LessThanOrEqual_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_Apache_Ignite_Core_Cache_Affinity_AffinityTopologyVersion_" data-uid="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.op_LessThanOrEqual(Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion,Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion)">LessThanOrEqual(AffinityTopologyVersion, AffinityTopologyVersion)</h4>
  <div class="markdown level1 summary"><p>Implements the operator &apos;less or equal than&apos;.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static bool operator &lt;=(AffinityTopologyVersion left, AffinityTopologyVersion right)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">left</span></td>
        <td><p>The left operand.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Affinity.AffinityTopologyVersion.html">AffinityTopologyVersion</a></td>
        <td><span class="parametername">right</span></td>
        <td><p>The right operand.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>The result of the operator.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="implements">Implements</h3>
  <div>
      <span class="xref">System.IEquatable&lt;T&gt;</span>
  </div>
  <div>
      <span class="xref">System.IComparable&lt;T&gt;</span>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            © 2015 - 2019 The Apache Software Foundation
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
