<i>I&#x27;m not an expert</i>. C++ uses -&gt; for pointer dereference, e.g. o-&gt;p refers to the property &quot;p&quot; of object &quot;o&quot;. I would assume C# inherits from C++ and had to define another operator.<p>Java probably followed Scala&#x27;s notation, which is probably derived from mathematics where ↦ is an application (a function) and ⇒ is a simple logical implication.