Свойства транслируются в два (или только один в случае, если вы предоставили только метод получения или, возможно, установки), который
public int MyProp
{
get { return 1; }
set { myField = value; }
}
переводится во время компиляции (возможно, Эрик Липпер исправит меня в этом,потому что, возможно, это происходит на этапе предварительной обработки или sth) в методы
public int Get_MyProp();
public int Set_MyProp(int value);
, в целом они не несут никаких дополнительных затрат, кроме как только для дополнительных методов, включенных в объект