Важная информация
Показано с 1 по 3 из 3

Тема: Создать конструкторы для класса в C#

  1. #1 Создать конструкторы для класса в C# 
    Новичок
    Регистрация
    07.01.2015
    Сообщений
    5
    Сказал(а) спасибо
    5
    Поблагодарили 0 раз(а) в 0 сообщениях
    Уважаемые форумчане! Нужна помощь с реализацией конструкторов для класса. Заранее спасибо за любую помощь!
    Задан класс:

    C# Code:
    1.  
    2. class MString
    3. {
    4.     char[] chars;
    5. }


    (здесь поле char[] chars обязательно не открытое)
    1. Добавить конструктор, создающий объект из участка обычной строки, с тремя параметрами:
    исходная строка, начальный индекс, конечный индекс (конечный индекс на единицу больше, чем индекс последнего символа).MString(string ms, int start, int finish). Два последних параметра не обязательны.

    2. Добавить конструктор, создающий объект из участка MString. public MString(MString ms, int start, int finish)

    первый конструктор:

    C# Code:
    1.  
    2. public MString(string ms, int start, int finish)
    3. {
    4. }


    второй конструктор:

    C# Code:
    1.  
    2. public MString(MString ms, int start, int finish)
    3. {
    4. }


    Первый конструктор написал так, а второй не получается написать

    C# Code:
    1.  
    2. public MString(string ms, int start = 0, int finish = int.MaxValue)
    3. {
    4.     chars = ms.ToCharArray();
    5.     char[] c = [Ссылки могут видеть только зарегистрированные пользователи. ] char[ms.Length];
    6.     Array.Copy(chars, c, finish - start);
    7.     chars = c;
    8. }

    если это неправильно, подскажите пожалуйста как исправить
    Ответить с цитированием  
     

  2. #2  
    Разбирающийся
    Регистрация
    18.04.2014
    Адрес
    Ярославль
    Сообщений
    69
    Сказал(а) спасибо
    0
    Поблагодарили 65 раз(а) в 33 сообщениях
    Записей в блоге
    2
    если chars приватное поле, то второй конструктор невозможно сделать. Т.к. не удастся получить доступ к данным. Скорей всего вам классу надо добавить Property.
    Примерно так:
    C# Code:
    1. publioc class MString{
    2. private char[] chars;
    3.  
    4. public char[] Chars
    5. {
    6.     get { return chars; }
    7.     set { chars = value; }
    8. }
    9.  
    10. public MString(MString ms, int start, int finish)
    11. {
    12.      int length = finish-start;
    13.      chars = [Ссылки могут видеть только зарегистрированные пользователи. ] char[length];
    14.     Array.Copy(ms.Chars, start,chars, 0,length);
    15. }
    16. }

    Кстати в вашем конструкторе ошибка вот тут подробней о методе Copy [Ссылки могут видеть только зарегистрированные пользователи. ]
    Ответить с цитированием  
     

  3. Пользователь сказал cпасибо:

    polant (11.01.2015)

  4. #3  
    Новичок
    Регистрация
    07.01.2015
    Сообщений
    5
    Сказал(а) спасибо
    5
    Поблагодарили 0 раз(а) в 0 сообщениях
    Очень помогли, спасибо большое!!
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 58
    Последнее сообщение: 09.02.2014, 02:36
  2. Помогите создать бота
    от Pentagon в разделе Общие вопросы программирования
    Ответов: 1
    Последнее сообщение: 07.02.2014, 02:07
  3. Создать класс на с++
    от Anna в разделе C/C++
    Ответов: 2
    Последнее сообщение: 23.10.2013, 20:15
  4. Пробую самостоятельно создать сайт
    от tehhnoservis в разделе Продвижение сайта
    Ответов: 3
    Последнее сообщение: 13.01.2013, 17:30
  5. Ответов: 2
    Последнее сообщение: 21.01.2011, 21:23
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •