结构与类、静态构造函数、类库文件测试、内部类示例、嵌套类和非嵌套类、析构函数示例

1、结构与类

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

namespace 结构与类的区别
{
    public struct Mystruct
    {
        public int x;
        public Mystruct(int value)
        {
            x = value;
        }
        public void SetX(int value)
        {
            x = value;
        }
    }
    public class Myclass
    {
        public int x;
        public Myclass()
        {
            x = 0;
        }
        public void SetX(int value)
        {
            x = value;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "结构与类的区别";
            Console.BackgroundColor = ConsoleColor.Yellow;
            Console.ForegroundColor = ConsoleColor.Red;
            Console.Clear();

            Mystruct myStructObject1 = new Mystruct();
            Mystruct myStructObject2 = new Mystruct(2);
            Mystruct myStructObject3;
            myStructObject3.x = 3;

            Console.Write("myStructObject1.x={0}\t", myStructObject1.x);
            Console.Write("myStructObject2.x={0}\t", myStructObject2.x);
            Console.Write("myStructObject3.x={0}\t\n", myStructObject3.x);

            myStructObject1 = myStructObject2;
            myStructObject1.SetX(6);
            myStructObject2.x = 7;
            Console.Write("myStructObject1.x={0}\t", myStructObject1.x);
            Console.Write("myStructObject2.x={0}\t\n", myStructObject2.x);

            if(Object.Equals(myStructObject1,myStructObject2))
            {
                Console.Write("myStructObject1和myStructObject2是同一个对象\n");
            }
            else
            {
                Console.WriteLine("myStructObject1和myStructObject2不是同一个对象");
            }

            Myclass myObject1 = new Myclass();
            Console.Write("MyObject1.x={0}\t\t", myObject1.x);
            myObject1.x = 8;
            Console.Write("MyObject1.x={0}\n", myObject1.x);
            Myclass myObject2 = myObject1;
            myObject2.SetX(9);
            Console.Write("MyObject1.x={0}\t\t", myObject1.x);
            Console.Write("Myobject2.x={0}\n", myObject2.x);

            if(Object.Equals(myObject2,myObject1))
            {
                Console.Write("myObject1和myObject2是同一个对象\n");
            }
            else
            {
                Console.Write("myObject1和myObject2不是同一个对象\n");
            }
        }
    }
}

2、静态构造函数

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

namespace 静态方法触发静态构造函数
{
    class class1
    {
        static int x;
        static class1()
        {
            x = 2;
            Console.WriteLine("调用静态构造方法");
        }
        public static void F()
        {
            Console.Write("Class1.x={0}\n",class1.x) ;
            Console.Write("调用静态方法class1.F()\n\n");
        }
    }
    class class2
    {
        static int x;
        static class2()
        {
            x = 1;
            Console.Write("初始化类Class2\n");
        }
        public static void F2()
        {
            Console.Write("Class2.x={0}\n", class2.x);
            Console.Write("调用静态方法Class2.F2()\n");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "静态构造方法的调用测试";
            Console.BackgroundColor = ConsoleColor.Yellow;
            Console.ForegroundColor = ConsoleColor.Red;
            Console.Clear();

            class1.F();
            class2.F2();
            Console.Read();
        }
    }
}

3、类库文件测试

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

namespace 类库文件示例0
{
    public class Class1
    {
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using 类库文件示例0;

namespace 类库文件测试程序
{
    class Program
    {
        class Myclass:Object
        {

        }
        static void Main(string[] args)
        {
            Console.Title = "类库文件测试示例";
            Console.BackgroundColor = ConsoleColor.White;
            Console.ForegroundColor = ConsoleColor.DarkBlue;
            Console.Clear();

            Class1 myobject1 = new Class1();
            Console.WriteLine("{0}\n", myobject1.ToString());
            Myclass myobject2 = new Myclass();
            Console.WriteLine("{0}\n", myobject2.ToString());
            Console.Read();
        }
    }
}

4、内部类示例

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

namespace 内部类示例
{
    class Program
    {
        class Student
        {
            private string studentID;
            private string studentName;
            static int count;

            public Student(string id,string name)
            {
                studentID = id;
                studentName = name;
                count++;
            }
            public void showInfo()
            {
                Console.WriteLine("{0}\t\t{1}\n", studentID, studentName);
            }
        }
        static void Main(string[] args)
        {
            Console.Title = "内部类示例";
            Console.BackgroundColor = ConsoleColor.White;
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Clear();

            Student Myobject = new Student("01104010","黄武");
            Myobject.showInfo();
            Myobject = new Student("01104011", "liliang");
            Myobject.showInfo();
            Console.Read();
        }
    }
}

5、嵌套类和非嵌套类

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

namespace 嵌套类和非嵌套类
{
    class Container
    {

    }
    class Program
    {
        class Nested
        {

        }
        static void Main(string[] args)
        {
            Console.Title = "嵌套类和非嵌套类";
            Console.BackgroundColor=ConsoleColor.White;
            Console.ForegroundColor=ConsoleColor.DarkBlue;
            Container myobject1 = new Container();
            Nested myobject2 = new Nested();
            Console.WriteLine("{0}\n", myobject1.ToString());
            Console.WriteLine("{0}\n", myobject2.ToString());
            Console.Read();
        }
    }
}


6、析构函数示例

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

namespace 析构函数示例
{
    class class1
    {
        ~class1()
        {
            Console.Write("调用class1的析构函数\n");
        }
    }
    class class2:class1
    {
        ~class2()
        {
            Console.Write("调用class2的析构函数\n");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title="析构函数示例";
            Console.BackgroundColor=ConsoleColor.Blue;
            Console.ForegroundColor=ConsoleColor.DarkRed;
            Console.Clear();

            class2 myObject=new class2();
            class1 myObject1 = new class1();
            myObject1=myObject;

            GC.Collect();
            GC.WaitForPendingFinalizers();
        }
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值