在VB2005中使用零长度数组

  在实际编程中是运用很多对象象ArrayList等都是对种封装

  我们看看下面两种定义思路方法能看出他们区别吗?

  Dim tB1 As Byte

  Dim tB2 As Byte = {}

  这两种都是定义个字节里都没有元素

  不过下面两句话就能看出区别了

  Debug.Pr(tB1 Is Nothing)

  Debug.Pr(tB2 Is Nothing)

  第句得到结果是True第 2局得到结果是False介绍说明tB1是但没有化过等价于NothingtB2是虽然没有元素但是化过和Nothing不等价你可以访问tB2其他属性如Length得到是0表明是个空而访问tB1其他属性如Length就会报错

  空和未在很多地方还是有区别

  例如:

  Debug.Pr(.Text.Encoding.Default.GetString(tB1))

  Debug.Pr(.Text.Encoding.Default.GetString(tB2))

  虽然tB1和tB2中都没有元素但是由于tB1没有系统会抛出个异常而tB2虽然没有元素但是表示个0元素系统不会抛出异常返回个空

  从这个能看出来Nothing和0元素还是有区别这个是我们容易忽视地方

  出处:http://grenet.cnblogs.com/

Tags: 

延伸阅读

最新评论

发表评论