[C# урок] Передача параметров в метод

Тема в разделе "Программирование", создана пользователем Бека Алыбаев, 2 дек 2014.

  1. Оффлайн

    Бека Алыбаев System32

    На форуме с:
    28 янв 2013
    Сообщения:
    186
    Симпатии:
    74
    Баллы:
    30
    Пол:
    Мужской
    Передача параметров в метод
    Здравствуйте уважаемые читатели. Хотел о чем то написать, но не знал о чем именно. И буквально вчера вспомнил одну, а точнее несколько интересных вещей.
    Речь пойдет о передачи параметров в ф-ции. Параметры могут передаваться либо по значению либо по ссылке . Когда переменная передается по ссылке вызываемый метод получает саму переменную, поэтому любые изменения, которым она подвергается внутри Метода, остаются и в силе после его завершения, а когда переменная передается по значению, метод получает копию этой переменной, а это значит что все изменения которые будут сделание внутри метода там и останутся.
    Например int передается в метод по значению, и любые изменения, которые сделает метод не повлияют на значение исходного об’єкта. Но например если в метод передать массив или любой другой ссилочний тип (например класс) то изменения сделание внутри метода будут отражены и в исходном об’єкте.Давайте рассмотрим следующий пример:


    Результатом работы этой программы будет:
    Код:
    Before Arr[0] = 1 , number = 3
    After Arr[0] = 100 , number = 3 
    Обратите внимание что значение number каким было таким и осталось, а первый элемент нашего массива изменился.
    Всем спасибо за внимание. Бека

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

     
  2.  
  3. Оффлайн

    Бека Алыбаев System32

    На форуме с:
    28 янв 2013
    Сообщения:
    186
    Симпатии:
    74
    Баллы:
    30
    Пол:
    Мужской
    PHP:
    Например так Передача по ссылке на С#

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace 
    Передача_по_ссылке2
    {
    class 
    Program
    {
    class 
    Test
    {
    static 
    void function1(ref int a)
    {
    12;

    }
    static 
    void function2(out int b)
    {
    33;
    }
    static 
    void Main(string[] args)
    {
    int z 0;
    function1(ref z);
    Console.WriteLine(z);
    int r;
    function2(out r);
    Console.WriteLine(r);
    Console.ReadLine();
    }
    }
    }
     

Поделиться этой страницей

Уважаемый пользователь!

Мы обнаружили, что вы блокируете показ рекламы на нашем сайте.

Просим внести его в список исключения или отключить AdBlock.

Наши материалы предоставляются БЕСПЛАТНО и единственным доходом является реклама.

Спасибо за понимание!