Use the “as” operator to attempt a cast:
var myObject = something as String;
if (myObject != null)
{
// successfully cast
}
else
{
// cast failed
}
If the cast fails, no exception is thrown, but the destination object will be Null.
EDIT:
if you know what type of result you want, you can use a helper method like this:
public static Object TryConvertTo<T>(string input)
{
Object result = null;
try
{
result = Convert.ChangeType(input, typeof(T));
}
catch
{
}
return result;
}