using System;
namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
try
{
Student s1 = new Student();
Person p = new Person();
//Student s2 = (Student)p;//这样父类转子类,虽然不报错,但运行时会出错
Student s = p as Student;//这样转,如果成功则有返回值,如果失败则返回空
//Person p1 = (Person)s1;//这样转可以转,但建设用下面的转换,效力高
Person p2 = s1 as Person;
Console.Write(s+"============"+p2);
}
catch (Exception ex)
{
}
Console.ReadKey();
}
}
public class Person
{
string s = "123";
}
public class Student : Person
{
string S2 = "ABC";
}
}