11.2 Reference types

11.2 Reference types
A reference type is a class type, an interface type, an array type, or a
delegate type.
Chapter 11 Types
95
reference-type:
class-type
interface-type
array-type
delegate-type
class-type:
type-name
object
string
interface-type:
type-name
array-type:
non-array-type rank-specifiers
non-array-type:
type
rank-specifiers:
rank-specifier
rank-specifiers rank-specifier
rank-specifier:
[ dim-separatorsopt ]
dim-separators:
,
dim-separators ,
delegate-type:
type-name
A reference type value is a reference to an instance of the type, the
latter known as an object. The special
value null is compatible with all reference types and indicates the absence
of an instance.
11.2.1 Class types
A class type defines a data structure that contains data members (constants
and fields), function members
(methods, properties, events, indexers, operators, instance constructors,
destructors, and static constructors),
and nested types. Class types support inheritance, a mechanism whereby
derived classes can extend and
specialize base classes. Instances of class types are created using
object-creation-expressions (§14.5.10.1).
Class types are described in §17.
11.2.2 The object type
The object class type is the ultimate base class of all other types. Every
type in C# directly or indirectly
derives from the object class type.
The keyword object is simply an alias for the predefined class
System.Object.
11.2.3 The string type
The string type is a sealed class type that inherits directly from object.
Instances of the string class
represent Unicode character strings.
Values of the string type can be written as string literals (§9.4.4).
The keyword string is simply an alias for the predefined class
System.String.
C# LANGUAGE SPECIFICATION
96
11.2.4 Interface types
An interface defines a contract. A class or struct that implements an
interface must adhere to its contract. An
interface may inherit from multiple base interfaces, and a class or struct
may implement multiple interfaces.
Interface types are described in §20.
11.2.5 Array types
An array is a data structure that contains zero or more variables which are
accessed through computed
indices. The variables contained in an array, also called the elements of
the array, are all of the same type,
and this type is called the element type of the array.
Array types are described in §19.
11.2.6 Delegate types
A delegate is a data structure that refers to one or more methods, and for
instance methods, it also refers to
their corresponding object instances.
[Note: The closest equivalent of a delegate in C or C++ is a function
pointer, but whereas a function pointer
can only reference static functions, a delegate can reference both static
and instance methods. In the latter
case, the delegate stores not only a reference to the method.s entry point,
but also a reference to the object
instance on which to invoke the method. end note]
Delegate types are described in §22.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值