Пример #1
0
        /// <summary>
        /// 引数変更メソッド_クラス
        /// </summary>
        /// <param name="var"></param>
        static void Change(RefTest var)
        {
            // 引数の値変更
            var.obj = "B";

            // 引数に新しいインスタンス設定
            var = new RefTest();
            // 新しいインスタンスに値を設定
            var.obj = "C";
            Console.WriteLine("クラス中:{0}", var.obj);
        }
Пример #2
0
        static void Main(string[] args)
        {
            #region パターン01_クラス
#if PATTERN01
            // 参照型検証クラスのインスタンス生成
            RefTest refTest = new RefTest();

            // 検証メンバに値設定
            refTest.obj = "A";
            Console.WriteLine("クラス前:{0}", refTest.obj);

            // 引数変更メソッド_クラス使用
            Change(refTest);
            Console.WriteLine("クラス後:{0}", refTest.obj);
#endif
            #endregion


            #region パターン02_配列
#if PATTERN02
            // 数値配列生成
            int[] arr = new int[3] {
                1, 2, 3
            };
            Console.WriteLine("配列前:{0}", arr[0]);

            // 引数変更メソッド_配列使用
            Change(arr);
            Console.WriteLine("配列後:{0}", arr[0]);
#endif
            #endregion


            #region パターン03_値型
#if PATTERN03
            // 数値
            int i = 1;
            Console.WriteLine("値型前:{0}", i.ToString());

            // 引数変更メソッド_値型使用
            Change(arr);
            Console.WriteLine("値型後:{0}", i.ToString());
#endif
            #endregion


            #region パターン04_文字列
#if PATTERN04
            // 文字列
            string str = "A";
            Console.WriteLine("文字列前:{0}", str.ToString());

            // 引数変更メソッド_文字列使用
            Change(str);
            Console.WriteLine("文字列後:{0}", str.ToString());
#endif
            #endregion


            Console.ReadKey();
        }