C#的一道选择题??在线等 5
以下不是引用类型的是:A类B接口C结构D字符串请简单说明一下理由谢谢可是答案给的是B接口啊...
以下不是引用类型的是:
A 类 B 接口 C 结构 D 字符串
请简单说明一下理由 谢谢
可是答案给的是B 接口 啊 展开
A 类 B 接口 C 结构 D 字符串
请简单说明一下理由 谢谢
可是答案给的是B 接口 啊 展开
8个回答
展开全部
先看下这个图http://images.cnblogs.com/cnblogs_com/yandixin/typesystem.gif
值类型
C#的所有值类型均隐式派生自System.ValueType:
* 结构体:struct(直接派生于System.ValueType);
o 数值类型:
+ 整型:sbyte(System.SByte的别名),short(System.Int16),int(System.Int32),long(System.Int64),byte(System.Byte),ushort(System.UInt16),uint(System.UInt32),ulong(System.UInt64),char(System.Char);
+ 浮点型:float(System.Single),double(System.Double);
+ 用于财务计算的高精度decimal型:decimal(System.Decimal)。
o bool型:bool(System.Boolean的别名);
o 用户定义的结构体(派生于System.ValueType)。
* 枚举:enum(派生于System.Enum);
* 可空类型(派生于System.Nullable<T>泛型结构体,T?实际上是System.Nullable<T>的别名)。
引用类型
C#有以下一些引用类型:
* 数组(派生于System.Array)
* 用户用定义的以下类型:
o 类:class(派生于System.Object);
o 接口:interface(接口不是一个“东西”,所以不存在派生于何处的问题。Anders在《C# Programming Language》中说,接口只是表示一种约定[contract]);
o 委托:delegate(派生于System.Delegate)。
* object(System.Object的别名);
* 字符串:string(System.String的别名)。
可以看出:
* 引用类型与值类型相同的是,结构体也可以实现接口;
* 引用类型可以派生出新的类型,而值类型不能;
* 引用类型可以包含null值,值类型不能(可空类型功能允许将 null 赋给值类型);
* 引用类型变量的赋值只复制对对象的引用,而不复制对象本身。而将一个值类型变量赋给另一个值类型变量时,将复制包含的值。
值类型
C#的所有值类型均隐式派生自System.ValueType:
* 结构体:struct(直接派生于System.ValueType);
o 数值类型:
+ 整型:sbyte(System.SByte的别名),short(System.Int16),int(System.Int32),long(System.Int64),byte(System.Byte),ushort(System.UInt16),uint(System.UInt32),ulong(System.UInt64),char(System.Char);
+ 浮点型:float(System.Single),double(System.Double);
+ 用于财务计算的高精度decimal型:decimal(System.Decimal)。
o bool型:bool(System.Boolean的别名);
o 用户定义的结构体(派生于System.ValueType)。
* 枚举:enum(派生于System.Enum);
* 可空类型(派生于System.Nullable<T>泛型结构体,T?实际上是System.Nullable<T>的别名)。
引用类型
C#有以下一些引用类型:
* 数组(派生于System.Array)
* 用户用定义的以下类型:
o 类:class(派生于System.Object);
o 接口:interface(接口不是一个“东西”,所以不存在派生于何处的问题。Anders在《C# Programming Language》中说,接口只是表示一种约定[contract]);
o 委托:delegate(派生于System.Delegate)。
* object(System.Object的别名);
* 字符串:string(System.String的别名)。
可以看出:
* 引用类型与值类型相同的是,结构体也可以实现接口;
* 引用类型可以派生出新的类型,而值类型不能;
* 引用类型可以包含null值,值类型不能(可空类型功能允许将 null 赋给值类型);
* 引用类型变量的赋值只复制对对象的引用,而不复制对象本身。而将一个值类型变量赋给另一个值类型变量时,将复制包含的值。
展开全部
肯定是结构呀^结构是值类型呀~~
补充:
只有引用类型需要使用new创建实例,而Struct可以不使用new直接声明对象……所以他是值类型
补充:
只有引用类型需要使用new创建实例,而Struct可以不使用new直接声明对象……所以他是值类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结构,定义就这样,结构和初等类型都是值类型。具体可以看C#本质论
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C 结构
你那个答案是错的
你那个答案是错的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案肯定是C,结构是分配在栈中,是值类型,所以肯定不是引用类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结构~结构是值类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询