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    引用传递   byref

  10.对象的重要特性--事件(委托机制提供事件支持)

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

    handles :委托 目的是将方法与button类中的click事件关联

    关联多个事件:handles button1click,button2.click  (每个事件的参数个数和类型必须相同)

    方法可以关联多个事件,事件也可以引发多个方法

  11.使用事件

    声明事件    引发事件(事件必须在方法里触发)     响应接收事件

    (1)在类中定义事件 (关键字Event) 设置激发事件(关键字RaiseEvent)

    (2)用withEvent来声明事件调用 Handles接收响应事件。

   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.程序结束

 

    

    

转载于:https://www.cnblogs.com/lvseamoon/p/9449505.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值