C# 从缓存对象强制转换ValueTuple

C# 从缓存对象强制转换ValueTuple,c#,valuetuple,C#,Valuetuple,当我检查缓存以查看ValueTuple是否在缓存中时,我使用下面的代码。在这种情况下,返回的值为null(缓存中不存在aka)。当代码运行时,我在第1行得到对象未设置为对象实例的错误。有没有合适的方法将对象强制转换为ValueTuple var geo = ((double, double))CacheEngine.Get(key); if (!geo.Equals(default(ValueTuple<double, double>))) return geo; var geo=

当我检查缓存以查看ValueTuple是否在缓存中时,我使用下面的代码。在这种情况下,返回的值为null(缓存中不存在aka)。当代码运行时,我在第1行得到
对象未设置为对象实例的错误。有没有合适的方法将对象强制转换为ValueTuple

var geo = ((double, double))CacheEngine.Get(key);
if (!geo.Equals(default(ValueTuple<double, double>))) return geo;
var geo=((double,double))CacheEngine.Get(key);
如果(!geo.Equals(默认值(ValueTuple)),则返回geo;

我发现我需要这样做才能工作。您需要强制转换为
ValueTuple
,而不是(double,double)

var geo=CacheEngine.Get(key);
如果(geo!=null)
{
var geoTuple=(ValueTuple)geo;
如果(!geoTuple.Equals(默认值(ValueTuple)))
返回地理元组;
}
var geo = CacheEngine.Get(key);
if (geo != null)
{
    var geoTuple = (ValueTuple<double, double>)geo;
    if (!geoTuple.Equals(default(ValueTuple<double, double>)))
    return geoTuple;
}