deitel的VB心得

vbTab可以对齐列文字

 

  
    
Sub SquareByReference( ByRef number As Integer )

SquareByReference((number3))
' passes number3 by value

如果参数封闭在圆括号中,参数number3的一个副本(相当于一个表达式)传递给过程,即使过程头包含关键字byref,number3不会发生改变。

 

GetCurrentDirectory
   
     
' returns dice image
Function GetDiceImage( ByVal DiceValue As Integer , _
Optional ByVal baseImageName As String = " dice " ) As System.Drawing.Image

Return Image.FromFile(Directory.GetCurrentDirectory & _
" \Images\ " & baseImageName & DiceValue & " .png " )
End Function ' GetDiceImage

如何获取当前目录,即与执行文件相同的目录。

 

向过程传递数组,注意关键字ByVal,尽管如此,数组传递引用

  
    
Sub DayData( ByVal ar As Integer ())

End Sub
Sub Main()
Dim ar As Integer () = New Integer ( 24 ) {}
DayData(ar)
End Sub

is可以测试两个变量是否是同一个地址。ByVal关键字可以被调用的过程修改调用者的引用。

 

Const变量必须在声明时初始化,只能初始化为在编程时已经确定的常量值。Const一定是Shared类型的,并不需要Shared关键字的限定。

ReadOnly只能赋值一次,要么在声明时,要么在类的构造函数中。实例ReadOnly在实例的构造函数中赋值,Shared ReadOnly在共享构造函数中赋值。ReadOnly的值可以在运行时确定。

每个类都应该覆盖ToString方法,使其返回那个类对象的有用信息。

成员函数一旦被继承,就始终使用子类中定义的函数。

要避免函数过分的扩散;

创建太多的类,客户很难在一个大型的类库中找到合适的类。另一个极端是创建太少的类,每个类提供了实际的功能,但是这样的类的功能太多了。

 

Xor表示改变现有状态的意思。见下面代码:

 

代码
   
     
' use Xor to toggle italic, keep other styles same
Private Sub chkItalic_CheckedChanged( ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles chkItalic.CheckedChanged
lblOutput.Font
= New Font(
lblOutput.Font.Name, lblOutput.Font.Size, lblOutput.Font.Style
Xor FontStyle.Italic)
End Sub ' chkItalic_CheckedChanged

' use Xor to toggle bold, keep other styles same
Private Sub chkBold_CheckedChanged( ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles chkBold.CheckedChanged
lblOutput.Font
= New Font(
lblOutput.Font.Name, lblOutput.Font.Size, lblOutput.Font.Style
Xor FontStyle.Bold)
End Sub ' chkBold_CheckedChanged

 

 

不用检查复选框的状态,只是简单的操作相应的位枚举变量。Xor后面的变量始终为真,前面的变量是假的时候,结果变成真。前面变量为真的时候变成假。对于Flag型式的枚举变量,相当于简单的Not表达式。

 

1表示大于;0表示等于;-1表示小于

你可能感兴趣的:(vb)