VB.NET 隨筆

一.數據類型
  1.VB.net 數據分爲值類型和引用類型(值位於堆棧,引用位於託管堆)
  2.條件語句
    if ...then
    else (if)
    end if
  3.比較運算符
    = < <= > >=
    And or 邏輯疊加 進行最短路徑優化比較
    eg:if a>0 andalso b>0 then 若是第一個條件爲假後面的就不用測
      if a>0 oralso b>0 then  若是第一個爲真後面的不測
    is  isnot 比較對象
    eg: if string isnot nothing then
  4.浮點型 single double decimal
    存儲範圍:decimal<single<double
    精度範圍:   single<double<decimal
  5.object類
    全部類的基類,任意變量均可以轉換爲Object
  6.String
    構造: dim a as string = 「abc」
         dim b ="abc"
         dim a as string =new string ("a"c,23) 重複23次a
    方法:empty             屬性空串
       compare    比較連字符串(受區域設置影響)
       string.concat(str)   字符串連接
       copy                 建立了新的對象引用
       equals              判斷兩個字符串是否相同(equals判斷的是內容,==在引用類型的時候判斷的是引用地址)
       isnullorempty
       substring(0,length) 首位置 ,長度
       padleft(10,"*")以10爲長度 左邊用*填充
  6.變量的做用域
    小的做用域更具備優先級
  7.對象
    聲明 dim a as class
    實例化 a=new class()
    dim a as class = new class()
    //參數中實例化並調用
    dosomething(new class().getvalue())
    給一個對象引用賦值爲Nothing時 取消了對這個對象的引用 ,取消了該對象的分配空間被回收
  8.類型轉換
    convert
    parse 將字符串轉換爲相應的數字 僅限於值轉換
  9.類(對象是類的一個實例) 
    建立類
    public class Person
    end class
    關鍵字
    pirvate  public  protected  friend 友元  只能用於項目或組件的代碼
    方法
    sub 不用返回值
    function  須要返回值
    參數   值傳遞 byval    引用傳遞   byrefoop

  10.對象的重要特性--事件(委託機制提供事件支持)優化

    private sub button1_click(byval sender as system.object,byval e system.eventargs) handles button1.click.net

    handles :委託 目的是將方法與button類中的click事件關聯線程

    關聯多個事件:handles button1click,button2.click  (每一個事件的參數個數和類型必須相同)orm

    方法能夠關聯多個事件,事件也能夠引起多個方法對象

  11.使用事件blog

    聲明事件    引起事件(事件必須在方法裏觸發)     響應接收事件事件

    (1)在類中定義事件 (關鍵字Event) 設置激發事件(關鍵字RaiseEvent)內存

    (2)用withEvent來聲明事件調用 Handles接收響應事件。ci

   eg 倒計時 

    //不用事件對象會只在textbox1中顯示最後一次結果
 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        startCountdown(10.0, 0.1)
    End Sub
    Public Sub startCountdown(ByVal duration As Double, ByVal increment As Double)
        Dim start As Double = DateAndTime.Timer
        Dim ElapsedTime As Double = 0
        Dim sofar As Double = 0
        Do While ElapsedTime < duration
            If ElapsedTime > sofar + increment Then
                sofar += increment
                TextBox1.Text = Format(duration - sofar, "##0.0")
            End If
            ElapsedTime = DateAndTime.Timer - start
        Loop
    End Sub
 
    用addhandles和removehandles動態的添加釋放事件   不用withEvent和handles
    add remove成對出現若是不分離將出現內存泄漏,而withEvent會處理這些。
  

 

  12.委託
    計算機線程外的東西沒辦法直接調用,產生了委託(將方法做爲方法的參數)  能夠避免在程序中使用大量的判斷語句
 
    聲明委託:
    public delegate void bugTickeEventHandles()   (EnentHandles 規定後綴名)
    //在委託的機制下咱們創建以個出版事件
          public event PublishEventHander OnPublish;
    public static void main(string[] args){
      //爲委託附上方法 闡述這個委託做用
      bugTickeEventHandles  myde=new bugTicketEventHandles(class.function)
}
  13.對象釋放
    1.object=nothing
    2.賦予新對象 mperson=new person
    3.出做用域
    4.程序結束
相關文章
相關標籤/搜索