zoukankan      html  css  js  c++  java
  • 基元类型、FCL及CLS

    基元类型:

    编译器直接支持的数据类型称为基元类型(primitive type)。基元类型直接映射到Framework类库(FCL)中存在的类型,如c#中的int直接映射到System.Int32类型。  有些人提倡全部使用FCL.

    *CTS Common Type System:完整描述了运行库所支持的所有可能的数据类型和编程结构,指定了这些实体之间如何交互,也规定了它们在.NET元数据格式中的表示。

    CTS包括5种基本类型:class, interface, enum, delegate and struct

    CTS可能的成员:构造器,终结器,静态构造函数,嵌套类型,运算符,方法,属性,索引器,字段,只读字段,常量,事件

    *CLS – Common Language Specification

    定义了一个让所有.NET语言都支持的公共类型和编程结构的子集。这个可以说是所有语言特性的一个子集,而CTS是所有语言特性的一个合集。

    CLS定义了一套规则,当程序完全遵守这套规则时,才能确保你的程序能被所有其它.NET语言正确调用。可以通过特性[assembly: System.CLSCompliant(true)]来进行CLS规则验证。

    * CLR支持两种类型:引用类型和值类型。任何称为“类”的类型都是引用类型,结构或是枚举为值类型,结构直接派生自抽象类型System.ValueType,而它又直接派生自System.Object。所有枚举类派生自System.Enum

    C#的基元类型和FCL以及CLS的部分关系。从下面的表中可以看出:

    C# Primitive Typ

    FCL Type

    CLS-Compliant

    sbyte

    System.SBte

    NO

    byte

    System.Byte

    YES

    short

    System.Int16

    YES

    ushort

    System.UInt16

    NO

    int

    System.Int32

    YES

    uint

    System.UInt32

    NO

    long

    System.Int64

    YES

    ulong

    System.UInt64

    NO

    char

    System.Char

    YES

    float

    System.Single

    YES

    double

    System.Double

    YES

    decimal

    System.Decimal

    YES

    string

    System.Strign

    YES

    object

    System.Object

    YES

    dynamic

    System.Object

    YES

  • 相关阅读:
    洛谷P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib
    洛谷 P1062 数列
    洛谷 P2822 组合数问题
    HDU 6112 今夕何夕
    poj 2115 C Looooops
    HDU 6092 Rikka with Subset
    poj 2720 Last Digits
    poj 1254 Hansel and Grethel
    poj 1222 EXTENDED LIGHTS OUT
    poj 2459 Sumsets
  • 原文地址:https://www.cnblogs.com/nygfcn1234/p/3410766.html
Copyright © 2011-2022 走看看