从缓存对象转换 ValueTuple
Casting a ValueTuple from a cached object
当我检查我的缓存以查看我的 ValueTuple 是否在缓存中时,我使用下面的代码。在这种情况下,返回的值为空(也就是缓存中不存在)。当代码运行时,我在第一行收到 object not set to instance of an object
错误。是否有将对象转换为 ValueTuple 的正确方法?
var geo = ((double, double))CacheEngine.Get(key);
if (!geo.Equals(default(ValueTuple<double, double>))) return geo;
我发现我需要这样做才能工作。您需要转换为 ValueTuple<double, double>
而不是 (double, double).
var geo = CacheEngine.Get(key);
if (geo != null)
{
var geoTuple = (ValueTuple<double, double>)geo;
if (!geoTuple.Equals(default(ValueTuple<double, double>)))
return geoTuple;
}
当我检查我的缓存以查看我的 ValueTuple 是否在缓存中时,我使用下面的代码。在这种情况下,返回的值为空(也就是缓存中不存在)。当代码运行时,我在第一行收到 object not set to instance of an object
错误。是否有将对象转换为 ValueTuple 的正确方法?
var geo = ((double, double))CacheEngine.Get(key);
if (!geo.Equals(default(ValueTuple<double, double>))) return geo;
我发现我需要这样做才能工作。您需要转换为 ValueTuple<double, double>
而不是 (double, double).
var geo = CacheEngine.Get(key);
if (geo != null)
{
var geoTuple = (ValueTuple<double, double>)geo;
if (!geoTuple.Equals(default(ValueTuple<double, double>)))
return geoTuple;
}