Форум » C# и платформа .NET » Конструктуры структур и конструкторы классов в C# » Ответить

Конструктуры структур и конструкторы классов в C#

Сыроежка: Очень часто можно наблюдать такую ситуацию, когда программист, имеющий опыт программирования на C++, самоуверенно заявляет, что легко способен разобраться в коде на C#, а потому много тратить время на изучение C# нет необходимости. Он и так, можно сказать, уже квалифицированный программист на C#, так как он имел уже дело со стуктурами и классами на C++, и его не удивишь такими понятиями, как конструктор, приватный или открытый метод и т.д. Продемонстрировать, что он не прав, достаточно несложно с помощью простой демонстрационной программы, которая сразу же позволит выявить, знаком ли он с C#, или его знакомство с C# ограничилось пока лишь его самонадеянностью. Программа элементарно проста и, фактически, никаких действий не выполняет. Нужно всего лишь ответить, будет ли она компилироваться в каждой из представленных ее модификаций, и обхъяснить почему она будет или не будет компилироваться. Вот эта программа. Первая модификация кода использует ключевое слово struct при объявлении типа UserStruct [pre2] using System; struct UserStruct { public UserStruct(int x) { this.x = x; } private int x; } class EntryPoint { static void Main() { UserStruct a = new UserStruct(); Console.WriteLine(a); } }[/pre2] Во второй модификации ключевое слово struct заменено словом class [pre2] using System; class UserStruct { public UserStruct(int x) { this.x = x; } private int x; } class EntryPoint { static void Main() { UserStruct a = new UserStruct(); Console.WriteLine(a); } }[/pre2] Никаких других различий между примерами кода нет. Итак, вопрос для размышления. Будут ли компилироваться представленные модификации простой программы. Возможные ответы: 1. оба примера кода будут компилироваться 2. оба примера кода не будут компилироваться 3. первый пример кода будет компилироваться, второй - нет 4. первый пример кода не будет компилироваться, второй будет.

Ответов - 0



полная версия страницы