Skip to content

Instantly share code, notes, and snippets.

@dmdymov
Created November 25, 2016 09:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmdymov/bc3663d8994ec1f4048e151ec32fe03a to your computer and use it in GitHub Desktop.
Save dmdymov/bc3663d8994ec1f4048e151ec32fe03a to your computer and use it in GitHub Desktop.
SOExample2
double d = 1.3;
string s = (string)d; //ошибка компиляции, компилятор знает, что привести double к string нельзя
object d1 = 1.3;
string s1 = (string)d1; //ошибка исполнения, привести double к string все так же нельзя, но узнаем мы об этом уже во время исполнения
object d2 = 1.3;
string s2 = d2 as string; //хотя привести double к string все так же нельзя, не выбрасывает исключение, а присваивает s null
//главный пример использования - в метод приходит object, реальный тип мы не знаем, при этом знаем тип, с которым хотим работать
private void MethodName(object arg)
{
var obj = arg as DesiredType;
if (obj != null)
{
// делаем что-нибудь с obj
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment