A C# Binary Tree is a data structure not found in the .NET Framework. It is a rudimentary structure for searching through elements quickly and efficiently.
First one must understand that basic component of a Binary Tree, a node. A node is a class that has a reference to a value (the value being stored in the Binary Tree). Then a node has references to three other nodes: a parent node, a left child node, and a right child node.
Putting a bunch of nodes together forms a pattern known as the Binary Trees data structure. A Binary Tree structure has two more properties that make it unique as well as reliable.
The first property is pretty obvious given the name (Binary Tree). Each nodes have either 0, 1, or 2 children nodes. A node with no children is called a leaf node (or external node). A node with 1 or 2 children is called an internal node. A node that has no parent is called the root, which is the top of the Binary Tree.
The second property is very important. At any given node, elements in the left subtree (all nodes rooted at the left child) are smaller than the element of the given node. Likewise, elements in the right subtree are greater. (For elements that are equal, they can be stored in the left or right subtree, it doesn't matter).
Thanks to those two properties, a C# Binary Tree can search through data faster than a list. Also notice how elements will ultimately be kept in sorted order.