Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопросы по С#, мои ламерские вопросы о всем 
:(
    Опции темы
Сарт
Дата 1.5.2006, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Господа, обьясните мне,недалекому, что аткое конструктор-деструктор ,для чего он нужон и как им юзаться плиз. К Троелсону не отсылать=)

Добавлено @ 12:53 
В чем различие между статическим конструктором констурктором ,конструктором с параметрами и как использовать статический конструктор в качестве счетчика обьектов? 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Pitc
Дата 1.5.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: нет
Всего: 2



Конструктор по умолчанию выделяет память  и инициализирует объект, в C# конструктор присваевает данным значения по умолчанию, чаще всего 0.
В большинстве случаев класс снабжен и другими конструкторами принимающими праметры. Использование такого конструктора самы простой способ инициализировать  состояние объекта в момент его создния, установив нужные значения.

Назначение статических конструкторов- присваивать начальные значения статическим переменным. 
PM MAIL ICQ   Вверх
Сарт
Дата 1.5.2006, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Маленькая просьба---приводите примеры с кодом плииз=)
тока не очень сложные а на уровне-- вот тут мы передали конструктором параметры и т д=) 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Pitc
Дата 1.5.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: нет
Всего: 2



Использование статического конструктора:
Дапустим нуна чтоб статической переменной color всегда при создании присваевалось значение black. 
Код

public class NewClass
{
///.....
    private static string color;
    static NewClass()
    {
          color = "black";
     }
///.....
}



/////////////
public static int Main(string[] args)
{
     Console.WriteLine("Color is :{0}",NewClass.color);
}
  

Это сообщение отредактировал(а) Pitc - 1.5.2006, 13:21
PM MAIL ICQ   Вверх
Сарт
Дата 1.5.2006, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



гм а почему нельзя то же самое через метод сделать??
примерно так:
Код

public class NewClass
{
///.....
   public static string color;
   color="black";
      
///.....
}

public static int Main(string[] args)
{
     Console.WriteLine("Color is :{0}",NewClass.color);
}




 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Pitc
Дата 1.5.2006, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: нет
Всего: 2



Вообще я у тебя метода не вижу.. smile 
Цитата

public class NewClass    
{    
///.....    
   public static string color;    
   color="black";    
       
///.....    
}


Добавлено @ 13:54 
Если использовать метод ,то потом его надо будет вызвать перед использованием переменной color, а уже потом обращаться к переменной.  
PM MAIL ICQ   Вверх
Сарт
Дата 1.5.2006, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



упс ступил

public class NewClass
{
///.....
public void Colour()
{
   public  string color;
   color="black";
Console.WriteLine("Цвет ремешка"+colour);
  }    
///.....
}

public static int Main(string[] args)
{
     NewClass c1= new NewClass();
     c1.Colour
}
 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Wanderer2019
Дата 1.5.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



деструктор - есть понятие обратное конструктору. т.е. освобождает память. Не знаю насколько он необходим в C#, но вот в C++ он использовался для освобождения памяти выделяемой под определенные поля объекта. т.к. деструктор по умолчанию этого не делал. Соответсвенно ты можешь и не описывать не конструкто ни деструктор, тогда шарп сам проинициализирует все поля для создаваемого объекта (значениями типа null или 0), однако здесь могу возникнуть проблемы в случае если в качестве полей у тебя выступают например массивы и т.п., тогда при обращении к полю объекта через какой либо метод компилятор ругнется что значение данной переменной неопредлено.
 
PM ICQ MSN   Вверх
ivashkanet
Дата 1.5.2006, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Значит так. Все что написано сверху верно, но хочу вставить свои пять копеек.

Назначение конструкторов -- проводить начальную инициализацию объекта. Все равно какую.
Деструктора -- высвобождение ресурсов, которые не может высвободить сборщик мусора, после удаления объекта. Например закрытие открытых файлов.

Цитата(Сарт @  1.5.2006,  13:42 Найти цитируемый пост)
   public static string color;    
   color="black";

Так не пойдет,    color="black"; -- это инструкция (комманда) она не может быть написана вне метода. Выскочит ошибка этапа компилирования, но значение полю можно присвоить и по-другому:
Код

   public static string color = "black";

Где ее инициализировать -- вопрос вкуса smile , но в конструкторе можно сделать более сложную инициализацию. Например просканировать другие классы (например запущенные процессы) и на этом основании заполнить свои поля.
Другой пример: в конструкторе формы-по-умолчанию присутствует метод InitializeComponent(); , который расставляет контролы на форме, накиданные нами в дизайнере.
Код

 public Form1()
        {
            InitializeComponent();
        }


Цитата(Pitc @  1.5.2006,  13:03 Найти цитируемый пост)
Назначение статических конструкторов- присваивать начальные значения статическим переменным. 

Не только.
Статический конструктор вызываеться один раз, перед созданием самого первого экземпляра класса. Он нужен, например, для инициализации констант класса. Ведь они имееют тип того же класса, а экземпляров его еще нет smile Вот он и позволяет выкрутиться.
Класс описывающий рациональные числа и его статический конструктор:
Код

static Rational()
{
   Console.WriteLine("static constructor Rational");
   Zero = new Rational(0, 1);
   One = new Rational (1, 1);
}

Назначение конструктора с параметрами нужно для более удобного присвоения значений полям нового класса. А для класса Rational подругому и нельзя только:
Код

Rational RatNumber = new Rational(1,2);  // создаем новое число 1/2


Что еще осталось? А!
Как вести подсчет количества объектов:
Нужно статическое (общее на все классы) поле counter. И увеличивать его на 1 при каждом создании нового объекта:
Код

    class MyClass
    {
        static int counter = 0;
        public MyClass()
        {
            counter++;
        }

P.S. И еще конструктор без параметров свегда вызывается самым первым в конструкторе с параметром (могу ошибаться, но по-моему так оно и есть) 
PM MAIL WWW ICQ   Вверх
Void
Дата 1.5.2006, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Цитата(ivashkanet @  1.5.2006,  21:42 Найти цитируемый пост)
Деструктора -- высвобождение ресурсов, которые не может высвободить сборщик мусора, после удаления объекта.

Во-первых, в C# деструкторов нет, а есть финализаторы, по недоразумению обладающие синтаксисом деструкторов.
Во-вторых, для высвобождения unmanaged ресурсов существует паттерн IDisposable и финализаторы писать обычно не рекомендуется.

Добавлено @ 20:06 
Цитата(ivashkanet @  1.5.2006,  21:42 Найти цитируемый пост)
И еще конструктор без параметров свегда вызывается самым первым в конструкторе с параметром

Если явно не указан — не вызывается. 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
ivashkanet
Дата 1.5.2006, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Void @  1.5.2006,  20:03 Найти цитируемый пост)
Во-первых, в C# деструкторов нет, а есть финализаторы

Знать ничего не знаю, вот что напиано в MSDN про destructors:
Цитата

Destructors are used to destruct instances of classes.
Remarks:
Destructors cannot be defined in structs. They are only used with classes.
A class can only have one destructor.
Destructors cannot be inherited or overloaded.
Destructors cannot be called. They are invoked automatically.
A destructor does not take modifiers or have parameters.

For example, the following is a declaration of a destructor for the class Ca
Код

class Car
{
    ~ Car()  // destructor
    {
        // cleanup statements...
    }
}

Цитата(Void @  1.5.2006,  20:03 Найти цитируемый пост)
 IDisposable

А что, если я открываю 1 несчастный файл мне для его корректного закрытия переписывать все методы IDisposable. И не подумаю smile 

Цитата(Void @  1.5.2006,  20:03 Найти цитируемый пост)
Если явно не указан — не вызывается. 

Да, не вызывается. 
А с чего я это взял ...  smile 

P.S. В двух словах о деструкторе -- это такой зверь который вызывается самым последним при уничтожении объекта.
 
PM MAIL WWW ICQ   Вверх
Void
Дата 1.5.2006, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Цитата(ivashkanet @  1.5.2006,  23:38 Найти цитируемый пост)
А что, если я открываю 1 несчастный файл мне для его корректного закрытия переписывать все методы IDisposable. И не подумаю smile 

Зря.

Спорить не буду, почитай у Рихтера про завершение и вот эту статью. 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
ivashkanet
Дата 1.5.2006, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Только что глянул Idisposable, в нем оказался всего 1 метод Dispose(). Наследовать его можно, не страшно.  smile 
Но вот когда он вызывается? 
Вручную -- не интересно smile 

Кстати. В MSDN в примере к статье про Idisposable метод Dispose() вызывается примо из деструктора smile 
Цитата

~MyResource()      
        {
            // Do not re-create Dispose clean-up code here.
            // Calling Dispose(false) is optimal in terms of
            // readability and maintainability.
            Dispose(false);
        }

Цитата

            // Calling Dispose(false) is optimal in terms of
            // readability and maintainability.

оптимален для читаемости и отладки smile  
PM MAIL WWW ICQ   Вверх
Void
Дата 1.5.2006, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Цитата(ivashkanet @  2.5.2006,  00:01 Найти цитируемый пост)
Вручную -- не интересно

Полуавтоматически — с помощью using-блоков. 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
ivashkanet
Дата 1.5.2006, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Void @  1.5.2006,  21:48 Найти цитируемый пост)
Спорить не буду, почитай у Рихтера про завершение и вот эту статью. 

Спасибо за статью, заставляет задуматься. 
PM MAIL WWW ICQ   Вверх
Сарт
Дата 3.5.2006, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Народ, разрешите прервать вашу столь увлекательную беседу, но у меня возник вопрос. КУДА писать деструктор при создании счетчика объектов? Ведь его.как подсказывает мне логика, нужно каким то образом не только увеличивать,но и уменьшать....Пример:Создан объект, создан 2-ой. Счетчик показывает 2. 1 объект удалили,но счетчик то все равно покажет 2=)) Помогите плиз,и куджа писать деструктор??...
Могу выложить код но он несколько..сумбуренЮ,что ли?? 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
ivashkanet
Дата 3.5.2006, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Сарт @  3.5.2006,  20:19 Найти цитируемый пост)
 КУДА писать деструктор при создании счетчика объектов?

Да, эт я ломанулся. А вопрос даже не КУДА, а КАК писать деструктор
Код

   class MyClass    
    {    
        static int counter = 0;    
        public MyClass()    
        {    
            counter++;    
        }
        ~MyClass()    
        {    
            counter--;    
        }
    }


 
PM MAIL WWW ICQ   Вверх
Void
Дата 3.5.2006, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Цитата(Сарт @  3.5.2006,  22:19 Найти цитируемый пост)
Пример:Создан объект, создан 2-ой. Счетчик показывает 2. 1 объект удалили,но счетчик то все равно покажет 2=))

Проблема в том, что заранее неизвестно, когда сборщик мусора подберет объект. Время жизни объектов в .NET недетерминированно, так что не удивляйся, что счетчик будет сбрасываться с некоторым запозданием. 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Сарт
Дата 3.5.2006, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Создать деструктор класса, 
Цитата

определить момент его вызова 


Народ расшифруйте фразу 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
mr.DUDA
Дата 4.5.2006, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Сарт @  3.5.2006,  22:18 Найти цитируемый пост)
Народ расшифруйте фразу

Деструктор вызывается автоматически сборщиком мусора. Для тебя это означает: время ,когда деструктор будет вызван, неизвестно. Хоть через минуту, хоть через две. Притом, что ссылок на объект уже давно 0. 


--------------------
user posted image
PM MAIL WWW   Вверх
Сарт
Дата 4.5.2006, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Сегодня пристал к преподу довел его этим вопросом....Итак внимание,правильный ответ!!!!!!!
фраза 
Цитата

определить момент его вызова 

Означает...что бы вы подумали?? А не что иное как код вида:
Код

~Clock()
Console.WriteLine("Деструктор вызван");


Я плакалЪ... 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
ivashkanet
Дата 5.5.2006, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Сарт @  4.5.2006,  23:07 Найти цитируемый пост)
~Clock()

В топку твоего препода smile 
Номер раз: Деструкторы одычно имеют private модификатор и поэтому вызвать его из кода вне класса невозможно.
Номер два: Деструктор не уничтожает объект (действительно слово для него неправильное выбрали, лучше уж финализатор), а только делает предварительные действия перед удалением объекта.
Номер три: если уж хочешь сам удалить объект нужно делать так: Убираешь все с него ссылки, и дважды smile  (ИХМО, бред, но так говорит статья предложенная выше) вызываешь сборщика мусора  и между вызовами ждешь пока он закончит финализацию smile 
Код

GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
 
PM MAIL WWW ICQ   Вверх
Сарт
Дата 5.5.2006, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Пасиб,чувствую сча прочитаю Троелсона страниц 20 и снова какой нить мелкий вопрос задам=)) 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Сарт
Дата 5.5.2006, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Вопрос возник УЖЕ=)
Итак вот код:
Код

using System;


namespace Lab01
{
    /// <summary>
    /// Обьявление класса Часы
    /// </summary>
    public class Clock
    {    
        /// <summary>
        /// Обьявление переменных типа string, содержащих информацию о дате изготовления,стране изготовления, марке часов, цвете стрелок, цвете фона, цвете цифр
        /// </summary>
        protected string God="2005";
        private string Country="Беларусь";
        public string Model="Z1527";
        private string ArrowColour="Черный";
        private string FoneColour="Белый";
        private string NumberColour="Желтый";
        public string day,mounth,year;
        public static int ObjCount;
        public int intX;
        /// <summary>
        /// Обьявление класса Info,содержащего информацию о дате изготовления часов,стране и модели.
        /// </summary>
        public void Info()
        {   ///
            /// Вывод информации на экран
            ///
            Console.WriteLine("Год выпуска "+God);
            Console.WriteLine("Страна-производитель "+Country);
            Console.WriteLine("Модель "+Model);
            
        }
        /// <summary>
        /// обьявление метода Дизайн
        /// </summary>
        public void Design()
        {///Вывод информации о цвете стрелок,фона и цифр
            Console.WriteLine("Цвет стрелки "+ArrowColour);
            Console.WriteLine("Цвет фона "+FoneColour);
            Console.WriteLine("Цвет цифр "+NumberColour);
        }
        /// <summary>
        /// Обьявление SetLong, в котором содержиться информация о батарее
        /// </summary>
        /// <param name="otherValue"></param>
        

        public void SetLong()
        {
            Console.WriteLine("Заряда батареи достаточно для работы в течении 5 дней");
        }
        /// <summary>
        /// Обьявление 
        /// </summary>
        public void  GravirovkaStekla()
        {
            ///Обьявление переменной типа string, служащей для хранению информации, считанной с экрана.
            string s;
            Console.WriteLine("По умолчанию гравировка отсутсвует,но вы можете добавить надпись ");
            Console.WriteLine("Введите текст гравировки ");
            s=Console.ReadLine();
            Console.WriteLine("Теперь на ваших часах гравировка-надпись: "+s );
        }
        public void ZariadBatarei()
        {    
            string s;
            Console.WriteLine("Какое количество дней батарея уже проработала?");
            s=Console.ReadLine();
            ///Метод высчитывания того,на сколько хватит батареи
            if (Convert.ToInt32(s)==0)
            {
                Console.WriteLine("Заряда батареи хватит еще на 5 дней");
            }
            if (Convert.ToInt32(s)<0)
            {
                Console.WriteLine("Введена неверная информация");
            }
            if (Convert.ToInt32(s)!=0 && Convert.ToInt32(s)>0)
            {
                int rezult;
                rezult=Math.Abs(5-Convert.ToInt32(s));
                Console.WriteLine("Заряда батареи хватит еще на : "+rezult );
            }
        }
        public void Data()
        {
            ///Установка даты.
            
            Console.WriteLine("Введите дату:");
            day=Console.ReadLine();
            Console.WriteLine("Введите месяц:");
            mounth=Console.ReadLine();
            Console.WriteLine("Введите год:");
            year=Console.ReadLine();
            if (Convert.ToInt32(day)<31 && Convert.ToInt32(day)>1 && Convert.ToInt32(mounth)<12 && Convert.ToInt32(mounth)>1 &&Convert.ToInt32(year)>=2006)
                {
                Console.WriteLine("Теперь дата установленна.");
                Console.WriteLine("Сейчас день номер: "+day);
                Console.WriteLine("Месяц номер: "+mounth);
                Console.WriteLine("И год под номером: "+year);
                    }
            else Console.WriteLine("Ошиблись вводом");
            
                
            }
        
        /// <summary>
        /// Обьявление статической переменной RemeshokColour отвечающей за цвет ремешка часов;
        /// </summary>
        public static string RemeshokColour;
        /// <summary>
        /// Обьявление статического конструктора
        /// </summary>
         static Clock()
        {
            RemeshokColour="black";
        }
        public Clock(int x)
        {
             intX=x;
        }
        public Clock ()
        {
           ObjCount++;
            Console.WriteLine("Количество созданных объектов: "+ObjCount);
         }
        ~Clock()
    
    {
            Console.WriteLine("Здесь используется деструктор");
                ObjCount--;
        }
        }

        }

    

        







А вопрос следующий,почему при выходе из проги(если надо могу выложить код с Маина, фраза 
Цитата

Здесь используется деструктор


выводиться 2!! раза?? 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
ivashkanet
Дата 5.5.2006, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Сарт, очисти код от всего лишенего. Читать же невозможно.
А какой метод вызывает функция main smile  
PM MAIL WWW ICQ   Вверх
Сарт
Дата 5.5.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Гм а что там лишенго то?? комментарии??=)
а вот код с маином
Код

using System;

namespace Lab01
{
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    class Class1
    {
        public static int Menu()
        {
            Console.WriteLine("1.Выход из программы");
            Console.WriteLine("2.Посмотреть дизайн часов");
            Console.WriteLine("3.Вывести Инфу");
            Console.WriteLine("4.Заряд батареи");
            Console.WriteLine("5.Сделать гравировку на часах");
            Console.WriteLine("6.Узнать,на сколько дней еще хватит батареи.");
            Console.WriteLine("7.Установить дату");
            Console.WriteLine("8.Посмотреть цвет ремня(using static constructor)");
            Console.WriteLine("9.Узнать гарантийный срок (using default constructor)");
            return Convert.ToInt32(Console.ReadLine());
        }
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            Clock n2= new Clock();
            Clock n1 = new Clock(100);
            bool proverka;
            proverka=true;
            while(proverka)
            {
                int str=Menu();
                
                if (str<10 && str>0)
                {
                {
                    if (str==1) 
                    {
                        proverka=false;

                    }
            
                    if (str==2)
                    {
                        n2.Design();
                    }
                    if (str==3)
                    {
                       n2.Info();    
                    }
                    if (str==4)
                    {
                        n2.SetLong();
                    }
                    if (str==5)
                    {
                        n2.GravirovkaStekla();
                    }
                    if (str==6)
                    {
                        n2.ZariadBatarei();
                    }
                    if (str==7)
                    {
                        n2.Data();
                        
                    }
                    if (str==8)
                    {
                        Console.WriteLine("Цвет ремешка: "+Clock.RemeshokColour);

                    }
                    if (str==9)
                    {
                        Console.WriteLine("Гарантийный срок составляет:"+n1.intX);
                    }
                }
                         
                } 
                else
                {
                    Console.WriteLine("Выберите верный пункт меню");
                    str=Menu();
                }
            }
            
        }

    }
    
}


Но поскольку тут нету конструктора то думаю не из за этого=))
А,это лаба,поэтому лишенго нету=)) Или я не прав?? 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
ivashkanet
Дата 5.5.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Сарт,  smile . У меня в таком коде 
Код

    class Program
    {
        static void Main(string[] args)
        {
            Clock cl = new Clock();
        }
    }
    public class Clock
    {
        static int ObjCount = 0;

        public Clock()
        {
            ObjCount++;
        }
        ~Clock()
        {
            Console.WriteLine("Здесь используется деструктор");
            ObjCount--;
        }
    }

1 раз строка выкакивает, а если два объекта создам, то 2 раза  smile

Добавлено @ 16:26 
Цитата(Сарт @  5.5.2006,  16:18 Найти цитируемый пост)
            Clock n2= new Clock();    
            Clock n1 = new Clock(100);

Ты ж два объекта создаешь, вот он и вызывается по разу для каждого

P.S. Все лишнее, это код не относящийся к делу. Вот у меня код без всего лишнего

Добавлено @ 16:28 
Цитата(Сарт @  5.5.2006,  16:18 Найти цитируемый пост)
комментарии??=)

Комментарии никогда лишними не бывают smile  
PM MAIL WWW ICQ   Вверх
Сарт
Дата 5.5.2006, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Ясненько,пасиб......сча дальше буду делать=) 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Сарт
Дата 6.5.2006, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



 Ребята!! Расскажите про композицию и агрергацию, что это такое?? 
Знаю тока что там отличается типом доступа к чему-то там.... Расскажите, как и что там?? 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Сарт
Дата 7.5.2006, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Что?? Неужели никто не знает??
 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Pitc
Дата 7.5.2006, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: нет
Всего: 2



Насколько я помню композиция это когда к классу закрытому для наследования обращются через объект этого класса... 
PM MAIL ICQ   Вверх
Сарт
Дата 7.5.2006, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Егор е-мое какое наследование во 2-ой лабе???? Во второй лабе у нас не то немного=)).
Давай рассказывай по человечески+разницу свойства-метода и что есть поле=) 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Pitc
Дата 7.5.2006, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: нет
Всего: 2



Свойства используются для обращения к закрытым членам класса.

Код

public class Employee
{
private Int empID;
// Свойство для empID
public Int EmpID
{
get {return empID:}
set
{
// В основном проверка вводимых значений
empID - value;
} .
}


public static int Main(sthng[] args)
Employee p = new Employee();
// Устанавливаем значение
p.EmpID = 81;
// Получаем значение
Console.WriteLineC'Person ID Is: {0}". p.EmpID):
return 0;


Книгу почитай...!!! 
PM MAIL ICQ   Вверх
Сарт
Дата 7.5.2006, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Дай книгу=)в Троелсоне нету=)

Цитата

public Int EmpID

слово Int всмысле int?
а как насчет поля для енума??
кстати обьясни словами что есть поле а что есть свойство.... 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Сарт
Дата 8.5.2006, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Народ че никто не нает?? 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
nikitao
Дата 8.5.2006, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 4
Всего: 26



Поле-это пременная-член класса,а свойство-это тоже поле,но для которого определены get или(и) set.

Добавлено @ 23:52 
Int32==int,а просто Int вроде нет.

Добавлено @ 23:56 
С enumaми также работать как и с обычными свойствами. smile  


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Exception
Дата 9.5.2006, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Модератор: кхе-кхе.. Одна тема - один вопрос!
P.S. nikitao, приветствую на форуме дотнетчиков smile ! Будь тут как дома smile 
PM   Вверх
Pitc
Дата 9.5.2006, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: нет
Всего: 2



nikitao, 
Цитата

Поле-это пременная-член класса,а свойство-это тоже поле,но для которого определены get или(и) set.


Свойство это метод , а не переменная, с помощью которого осуществляется доступ к закрытым переменным. smile 

Код

Int32==int,а просто Int вроде нет.


Я просто описался .  smile 


Exception, 
Цитата

Модератор: кхе-кхе.. Одна тема - один вопрос!


Если 
Сарт, будет для каждого вопроса создавать новую тему , то это будет выглядеть как спам форума. Пускай лучше здесь пишет.. Тем более у темы вроде название подходящие Вопросы по С#  smile  
PM MAIL ICQ   Вверх
Exception
Дата 9.5.2006, 02:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Ну уж нет. Пусть выделит группы вопросов и задаёт. А с элементарными можно и самому разобраться. 
PM   Вверх
nikitao
Дата 9.5.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 4
Всего: 26



Exception, пасибо.


Цитата(Pitc @  9.5.2006,  03:07 Найти цитируемый пост)
Свойство это метод , а не переменная, с помощью которого осуществляется доступ к закрытым переменным. 

Т е свойством мы называем сами get и set для поля smile 
 


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Сарт
Дата 9.5.2006, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Уважаемый Exception представьте что вы читаете книгу,возник 1 вопрос--разъяснили,задали второй-опять таки....как тут мона в группы то организовать? Лучше сделать эту тему верху и обозвать типа новичкам=)) 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Pitc
Дата 9.5.2006, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 9.5.2005
Где: Минск

Репутация: нет
Всего: 2



nikitao, 
Цитата

Поле-это пременная-член класса


Термин поле используется для переменных объявленных с ключевым словом public.

Цитата

Т е свойством мы называем сами get и set для поля 


Свойство представляет объеденение данных и методов в одно целое. Внешнее обращение к свойству анологично обращению к полю. В общем случае свойство состоит из 2 скрытых методов.

 smile  
PM MAIL ICQ   Вверх
Exception
Дата 9.5.2006, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Просто эта тема со временем превратится в свалку.
А поле - это любая переменная уровня класса, независимо от области видимости. 
PM   Вверх
Сарт
Дата 9.5.2006, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Ну, будем надеяться что не превратиться,просто это мой как бы учебный курс=) Зато в след раз когда ктото захочет научиться ,он всегда сможет зайти сюда и наверняка у него будут те же вопросы.
 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Tito
Дата 12.5.2006, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 11.5.2006

Репутация: нет
Всего: нет



Сарт, Внимательно почитай того же Троелсена...книга отличная с толковыми примерами....там ответы на все твои несложные вопросы smile  
PM MAIL   Вверх
Mymik
Дата 12.5.2006, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 1
Всего: 78



Народ... помогите чем сможете :о)

Код

class MethodView
{

    public string[] name;
    public string[] value;
    public int iCount;

    public MethodView(Type type)
    { 
//        Type type = typeof(args);
        PropertyInfo[] apropinfo = type.GetProperties();

        iCount = 0;

        foreach (PropertyInfo pi in apropinfo)
        {
            if (pi.CanRead && pi.GetGetMethod().IsStatic)
                iCount++;
        }

        name = new string[iCount];
        value = new string[iCount];

        iCount = 0;

        foreach (PropertyInfo pi in apropinfo)
        {
            if (pi.CanRead && pi.GetGetMethod().IsStatic)
            {
                name[iCount] = pi.Name;
                value[iCount] = pi.GetValue(type, null).ToString();
                iCount++;
            }
        }
        Array.Sort(name, value);
    }
}


собственно говоря в конструктор данного класса передается typeof от пространства имен :о)... 

Но хочется как-то сделать так, чтобы можно было спрашивать у пользователя пространство имен, в котором он хочет вытащить все методы и их значения. Тобишь передавать строчку... но вопрос, как тогда взять typeof от значения, которое храниться в строчке, да еще и преобразовать его как-то в указатель на пространство имен :о)  гы, сам не понял что сказал... 

Ваши варианты ;о)... ваши идеи :о)...
 


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 13.5.2006, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Mymik @  12.5.2006,  20:52 Найти цитируемый пост)
 но вопрос, как тогда взять typeof от значения,

Type.GetType (строковое_имя_типа)

Цитата(Mymik @  12.5.2006,  20:52 Найти цитируемый пост)
да еще и преобразовать его как-то в указатель на пространство имен

Бери свой namespace и цепляй к нему имя типа. Сам по себе namespace (без типа) никакого смысла не имеет. 


--------------------
user posted image
PM MAIL WWW   Вверх
Сарт
Дата 13.5.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



2Тито 
Книга хреново отсканена,примеры конечно хорошие...но...да ладно...
Тока вот в Троелсоне отличие метода от свойства(то что является базовым,как я считаю) на 151 странице...то есть книга не очень построена на мой взгляд=)....
Народ кто знает книгу Либерти может она получше?? 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Сарт
Дата 14.5.2006, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Народ снова вопрос есть!
Итак, есть статический метод,но не хочет обьявляться как void
+как с помощью return вернуть 2 значения??
Код как я выкрутился,но хочеться в 1 статическом методе все это сделать
Код

class Class1
        {
            
            private static string mounth, date;
             static string MounthOfMaking()
            {
                mounth ="Ноябрь";
                 return (mounth);
             }
..........................................
static void Main(string[] args)
            {if (str==11)
                        {
                            Console.WriteLine(Class1.MounthOfMaking() + Clock.DateofMaking());
                        }
                    }


и др класс
Код

public class Clock
    {    private static int date;
                          public static int DateofMaking()
        {
            date=12;
            return(date);
        } 
 

Это сообщение отредактировал(а) Сарт - 14.5.2006, 12:17
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Сарт
Дата 14.5.2006, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Вариант сделать 1 переменную типа "12 November" не предлагать,неинтересно. 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
mr.DUDA
Дата 14.5.2006, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232




M
mr.DUDA
Сарт,

1) вопрос совершенно не понятен
2) одна тема - один вопрос, пожалуйста !
 


--------------------
user posted image
PM MAIL WWW   Вверх
Сарт
Дата 14.5.2006, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Дуда,вроде как говорили уже=)
Насчет вопроса--переформулирую. Хочу сделать в статическом методе 2 переменных-mounth и date. Потом из другого класса вызвать этот метод. Как это сделать?
 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
VisualProgrammerNET
Дата 14.5.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Мда...  smile 
Код

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(MyClass.GetTwoVars()[0] + " " + MyClass.GetTwoVars()[1]);
            Console.Read();
        }
    }

    class MyClass
    {
        public static string[] GetTwoVars()
        {
            string[] Array = { "Month", "Year" };
            return Array;
        }
    }
 


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
Сарт
Дата 14.5.2006, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Ну тут пользователь может ввести херню типа месяц Бормордин и день кавалин.
Хочется именно 2 переменных типа стринг.
А не массив=) 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
ivashkanet
Дата 14.5.2006, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Сарт @  14.5.2006,  17:30 Найти цитируемый пост)
Хочется именно 2 переменных типа стринг.

Сарт, функция возвращает только одно значение. Запомни.
В каждом конкретном случае выкручиваются по разному. 
Чем тебе метод VisualProgrammerNET-а не устраивает  smile 
Не хочешь массив, соединяй строка в одну и ставь посередине какой-нить  хитрый символ, типа перевода строки. 
PM MAIL WWW ICQ   Вверх
Сарт
Дата 14.5.2006, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Гм есть у меня 1 вариант тока не наю как реализовать.....
Короче грубо говоря вывести в методе через 2 Console.WriteLine день и месяц, а потом как нить эти строки склеить и присвоить 1 переменной....и уже эту переменную возвращать..тока не знаю можно ли так сделать?? Может кто подскажет?? 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
ivashkanet
Дата 14.5.2006, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Сарт @  14.5.2006,  19:26 Найти цитируемый пост)
Короче грубо говоря вывести в методе через 2 Console.WriteLine день и месяц, а потом как нить эти строки склеить и присвоить 1 переменной....и уже эту переменную возвращать..тока не знаю можно ли так сделать?? Может кто подскажет

Сарт, вот скажи, зачем я тебе ответ писал, чтоб ты опять спросил smile 
Код

       public string MonthAndDay()
        {
            string month = "Апрель", day = "23";
            return month + "\n" + day;
        }

....
            string month, day, answer ;
            answer = MonthAndDay();
            month  = answer.Split('\n')[0];
            day = answer.Split('\n')[1];
 
PM MAIL WWW ICQ   Вверх
Сарт
Дата 14.5.2006, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



не ну ты мне писал словами,а у меня общение  с миром исколючительно через код происходит...двоичный=))) Пасиб за помощь...Интересно препод заценит или нет?=) 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
ivashkanet
Дата 14.5.2006, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Сарт @  14.5.2006,  20:08 Найти цитируемый пост)
Интересно препод заценит или нет?=) 

Препод очень даже заценит метод VisualProgrammerNET-а.
А мой, если чесно, это извращение, вызванное твоим нежеланием использовать массивы.

Добавлено @ 20:33 
Цитата(Сарт @  14.5.2006,  20:08 Найти цитируемый пост)
не ну ты мне писал словами,а у меня общение  с миром исколючительно через код происходит

Что ты за программер такой, что не можешб слова воплотить в код.
Я, например, именно такими словами и думаю, а потом перевожу их в код. ИМХО, большинство так делают. 
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 14.5.2006, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Сарт, либо выноси каждый вопрос в отдельную тему, либо закрываем это обсуждение. 


--------------------
user posted image
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1245 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.