C#中的类型、变量和表达式

C#笔记(二)类型、变量和表达式

一、C#中的类型

类类型:定义包含数据成员和函数成员在内的数据结构,支持单继承和多态。该机制可特化基类操作。
结构类型:类似于类类型定义包含数据成员和函数成员的数据结构。 不需分配堆空间。但不支持用户指定的继承,直接继承于Object。
接口类型:定义了一组公用接口的集合约定。支持自身,类类型,结构类型的多继承。继承了接口的类或结构需要实例化接口函数。
委派类型:表示对特定参数列表和返回类型的接口的引用,使得函数可以被当作实体用于变量赋值和参数传递。类似于其他语言的函数指针,不同的是委派类型是面向对象且类型安全的。
枚举类型:
可空类型:在使用前不必声明,且每个非空类型 T,都有一个对应的非空类型 T?。

二、C#中的变量

变量可能的内容
非空类型对应类型的实际值
可空类型null值或类型实际值
对象(object)空引用,引用类型的引用,任意类型的装箱的引用
类类型空引用,该类实例的引用,该类子类的实例的引用
接口类型空引用,继承了该接口的类的实例的引用,任意继承了该接口的类的装箱后的引用
数组类型空引用,该类型数组实例的引用,与该数组类型兼容的数组类型实例的引用
委托类型空引用,该委托类型实例的引用

三、C#中的部分表达式及其使用

表达式:
  由操作对象和操作符构成。大多数运算符可重载。

表达式说明
typeof(obj)返回obj的类型
is判断是否某一类型
as强制类型转换,失败也不抛出异常
using System;

namespace Test
{
    public interface Show
    {
        public void show();
    }
    class ITest:Show
    {
        public void show()
        {
            Console.WriteLine("I am of class ITest.");
        }
    }

    class ISubTest:ITest,Show
    {
        public void show()
        {
            Console.WriteLine("I am of class ISbuTest");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            ISubTest subtest = new ISubTest();
            ITest test = subtest as ITest;
            subtest.show();
            test.show();
            if(subtest is ITest)
            {
                Console.WriteLine("subtest is of class ITest.");
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值