当前位置: 代码迷 >> VB Dotnet >> (vb.net2013)有关Equals有关问题
  详细解决方案

(vb.net2013)有关Equals有关问题

热度:137   发布时间:2016-04-25 02:13:37.0
(vb.net2013)有关Equals问题

String.Equals() '这个可以类型为字符串型
Integer.Equals()'但是,这个括号里面的类型怎么还是Objce对象类型呢?
‘这个Object类型是实例相等比较的,不是值类型比较的。

’整型Integer类型的相等比较应该使用什么呢


------解决方案--------------------
针对Integer,直接 == 满足不了你的要求?
------解决方案--------------------
.Net 中:
所有类型都是对象(基类 Object),然后Object再分为值类型和引用类型。
和VB6中Object是引用类型的概念不同。
MSDN帮助
值类型和引用类型
如果数据类型在它自己的内存分配中存储数据,则该数据类型就是“值类型”。“引用类型”包含指向存储数据的其他内存位置的指针。

值类型
值类型包括:
●所有数字数据类型
●Boolean、Char 和 Date
●所有结构,即使其成员是引用类型
●枚举,因为其基础类型总是 SByte、Short、Integer、Long、Byte、UShort、UInteger 或 ULong

引用类型
引用类型包括:
●String 
●所有数组,即使其元素是值类型
●类类型,如 Form
●委托

非类型的元素
以下编程元素未限定为类型,因为您无法将它们中的任何一个指定为声明元素的数据类型:
●命名空间
●模块
●事件
●属性和过程
●变量、常数和字段

使用对象数据类型
可以将引用类型或值类型指派给 Object 数据类型的变量。Object 变量总是存储指向数据的指针,从不存储数据本身。然而,如果将值类型指派给 Object 变量,则 Object 变量将表现得像存储自己的数据一样。有关更多信息,请参见 Object 数据类型。

通过将 Object 变量传递给 Microsoft.VisualBasic 命名空间中 Information 类的 IsReference 方法,可以确定该变量是用作引用类型还是值类型。如果 Object 变量的内容表示引用类型,则 Information..::.IsReference 返回 True。

------解决方案--------------------
基本上 .Net 的 Object 近似与 VB6 的 Variant。
------解决方案--------------------

Dim i1 As Integer = 8
        Dim i2 As Object = 8
        MessageBox.Show(i1.Equals(i2))


返回值:true。

-----------------------------

如果一个基类里面的方法就写的死死的,那么你还怎么去重写呢?

思想,不要太拘束;
不然,很累。
  相关解决方案