Commit 07612d9a authored by Nick Craver's avatar Nick Craver

RedisValue.TryParse: use pattern matching

parent 9dec0d82
...@@ -417,19 +417,21 @@ int IComparable.CompareTo(object obj) ...@@ -417,19 +417,21 @@ int IComparable.CompareTo(object obj)
internal static RedisValue TryParse(object obj) internal static RedisValue TryParse(object obj)
{ {
if (obj == null) return RedisValue.Null; switch (obj)
if (obj is RedisValue) return (RedisValue)obj; {
if (obj is string) return (RedisValue)(string)obj; case null: return Null;
if (obj is int) return (RedisValue)(int)obj; case RedisValue v: return v;
if (obj is double) return (RedisValue)(double)obj; case string v: return v;
if (obj is byte[]) return (RedisValue)(byte[])obj; case int v: return v;
if (obj is bool) return (RedisValue)(bool)obj; case double v: return v;
if (obj is long) return (RedisValue)(long)obj; case byte[] v: return v;
if (obj is float) return (RedisValue)(float)obj; case bool v: return v;
if (obj is ReadOnlyMemory<byte>) return (RedisValue)(ReadOnlyMemory<byte>)obj; case long v: return v;
if (obj is Memory<byte>) return (RedisValue)(Memory<byte>)obj; case float v: return v;
case ReadOnlyMemory<byte> v: return v;
return Null; case Memory<byte> v: return v;
default: return Null;
}
} }
/// <summary> /// <summary>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment