I have the following example:
namespace ComparisonExample
{
class Program
{
static void Main(string[] args)
{
var hello1
Addition from MSDN:
Unbounded Type Parameters.
Type parameters that have no constraints, such as T in public class SampleClass, are called unbounded type parameters.
Unbounded type parameters have the following rules:
!= and == operators cannot be used because there is no guarantee that the concrete type argument will support these operators.System.Object or explicitly converted to any interface type.null. If an unbounded parameter is compared to null, the comparison will always return false if the type argument is a value type.In this case TValue is converted to System.Object and Equals method called.