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();
}
}
}
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();
}
}
}