Даже если вы не используете указатели и небезопасный код, вы определенно должны понимать концепцию и знать, как ее использовать.
Если вы собираетесь работать в C #, я могу простить, не зная арифметику указателей, потому что вы, скорее всего, не будете ее использовать и, скорее всего, не должны ее использовать.
Но указатели существуют вокруг нас даже в управляемом мире C #.
string s = "abc"
int a = 3;
Одна из этих двух переменных на самом деле является указателем (Ссылка. Что угодно. Та же самая вещь). Который из? Честно говоря, человек, который не знает, что ему нужно на год получить работу, используя C, после этого наверняка поймет.
Представьте, что этому парню нужно написать функцию, которая принимает строку ref. Это:
- Неизменное.
- Ссылка на неизменный объект.
- Ссылка на ссылку на неизменный объект. (Неизменяемость не имеет ничего общего с указателями. Просто будет еще более запутанно, если она неизменна ^^)
Человек сойдет с ума, пытаясь понять это, если он не потерял девственность указателя в Си заранее. Или, что еще хуже, представьте, что какая-то критическая часть вашего кода использует словарь, содержащий некоторую ценную информацию в классе, и этот парень меняет одно из его значений, которое изменяет GetHashValue объекта и заставляет вас «потерять» экземпляр.
Даже если здравомыслящие разработчики C # не используют явные указатели в своем коде, это не означает, что указатели не используются неявно.
Каждый хороший программист должен точно понимать, что абстрагирует их язык, иначе он никогда не сможет правильно понять язык. Чтобы правильно делать C #, вам нужно знать C, а чтобы правильно делать C, вам нужно знать ассемблер.
Кроме того, ваш вопрос - насколько вы знаете, ваш собеседник предположил, что myObject является структурой. Скорее всего, нет, но все же.
Изменить: Да, ссылки не являются фиксированными, в отличие от указателей. Но концептуально нет никакой разницы.