Dynamic type as return value in C#

dynamic DynamicReturn(int i)
{
    switch (i) {
        case 1:
            return 3.14;
        case 2:
            return "any";
        case 3:
            return true;
        default:
            return null;
    }
}

var pi = DynamicReturn(1);
//pi is 3.14
var s = DynamicReturn(2);
//s is "any"
var b = DynamicReturn(3);
//b is True