コード例 #1
0
        private static void ModifyStructValues(ref PointStruct ps)
        {
            ps.no1 += 100;
            ps.no2 += 100;

            Console.WriteLine("Within ModifyStructValues: {0}, {1}", ps.no1, ps.no2);
        }
コード例 #2
0
        public static void StructVsClass()
        {
            PointClass pc = new PointClass(10, 20);

            Console.WriteLine("After Object for Class created: ");
            pc.ShowValues();
            ModifyClassValues(pc); //Класс передается по ссылке
            Console.WriteLine("After ModifyClassValues Method Invoke: ");
            pc.ShowValues();

            Console.WriteLine("\n--------------");
            PointStruct ps = new PointStruct(10, 20);

            Console.WriteLine("After Object for Structure created: ");
            ps.ShowValues();
            ModifyStructValues(ps); //Структура передается по значению
            //ModifyStructValues(ref ps); //Но структуру можно тоже передовать по ссылке используя модификаторы out и ref
            Console.WriteLine("After ModifyStructValues Method Invoke: ");
            ps.ShowValues();
        }