Skip to content

Instantly share code, notes, and snippets.

@blam23
Created August 26, 2012 18:43
Show Gist options
  • Save blam23/3482474 to your computer and use it in GitHub Desktop.
Save blam23/3482474 to your computer and use it in GitHub Desktop.
TryGet Stuff
public bool TryGetValue<T>(string k, out T value)
{
object v;
var d = Data.TryGetValue(k, out v);
if (d)
{
if (v is object[])
{
throw new Exception("TryGetValue does not support arrays, use TryGetArray instead.");
}
else
{
value = (T) Convert.ChangeType(v, typeof (T));
}
return true;
}
value = default(T);
return false;
}
public bool TryGetArray<T>(string k, out T[] value)
{
object v;
var d = Data.TryGetValue(k, out v);
if (d)
{
var c = (object[])v;
value = new T[c.Length];
for (var i = 0; i < c.Length; i++)
{
value[i] = (T)Convert.ChangeType(c[i], typeof(T));
}
return true;
}
value = default(T[]);
return false;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment