static void Main(string[] args)
        {
            Console.WriteLine("Test passing class (reference type) by reference:");
            Student s = new Student("Nakov");
            Console.WriteLine(s.name);
            IncorrectModifyStudent(s);
            Console.WriteLine(s.name);
            ModifyStudent(ref s);
            Console.WriteLine(s.name);
            Console.WriteLine();

            Console.WriteLine("Test passing struct (value type) by reference:");
            Point p = new Point() { x = 5, y = -8 };
            Console.WriteLine("p=({0},{1})", p.x, p.y); 
            MultiplyPoint.IncorrectMultiplyBy2(p);
            Console.WriteLine("p=({0},{1})", p.x, p.y); 
            MultiplyPoint.MultiplyBy2(ref p);
            Console.WriteLine("p=({0},{1})", p.x, p.y);        
        }
 static void ModifyStudent(ref Student student)
 {
     student = new Student("Changed: " + student.name);
 }
 private static void ModifyStudent(ref Student student)
 {
     // s ref promeniame adresa kam kogoto e sochil student, kam novia student, koito sazdavame
     student = new Student("Changed: " + student.name);
 }
 static void IncorrectModifyStudent(Student student)
 {
     student = new Student("Changed: " + student.name);
 }
        private static void IncorrectModifyStudent(Student student)
        {
            student = new Student("Changed: " + student.name);

                // tai kato sazdavame nov obekt s new niama da se promeni referentnia tip, koito sme podali
        }