⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.vb

📁 Microsoft Mobile Development Handbook的代码,有C#,VB,C++的
💻 VB
字号:
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Imports System.Diagnostics
Imports System.Threading
Imports System.Runtime.InteropServices

Namespace CodeForChapter5cs
  Public Partial Class Form1
	  Inherits Form
	Public Sub New()
	  InitializeComponent()
	End Sub

	' string vs stringbuilder
	Private Sub menuItem1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles menuItem1.Click
	  GC.Collect()
	  Dim sw As Stopwatch = Stopwatch.StartNew()
	  PerfTests.UseString()
	  sw.Stop()

	  Dim mils1 As Long = sw.ElapsedMilliseconds
	  sw.Reset()
	  sw.Start()
	  PerfTests.UseStringBuilder()
	  sw.Stop()
	  Dim mils2 As Long = sw.ElapsedMilliseconds

	  MessageBox.Show(mils1.ToString() & " > " & mils2.ToString())
	End Sub

	#Region "measuring with tickcount and stopwatch"
	Private Sub SomeMethodA()
	  Dim sw As Stopwatch = New Stopwatch()
	  sw.Start()

	  ' some long running task
	  Thread.Sleep(2000)

	  sw.Stop()

	  Dim millis As Long = sw.ElapsedMilliseconds

	  MessageBox.Show(millis.ToString())
	End Sub

	Private Sub SomeMethodB()
	  Dim start As Integer = Environment.TickCount

	  ' some long running task
	  Thread.Sleep(2000)

	  Dim [end] As Integer = Environment.TickCount

	  Dim millis As Integer = [end] - start

	  MessageBox.Show(millis.ToString())
	End Sub

	Private Sub menuItem4_Click(ByVal sender As Object, ByVal e As EventArgs) Handles menuItem4.Click
	  Me.SomeMethodB()
	End Sub

	Private Sub menuItem3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles menuItem3.Click
	  Me.SomeMethodA()
	End Sub
	#End Region

	' collections
	Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button1.Click
	  GC.Collect()
	  Dim sw As Stopwatch = Stopwatch.StartNew()
	  PerfTests.UseArray()
	  sw.Stop()
	  Dim mils1 As Long = sw.ElapsedMilliseconds

	  sw.Reset()
	  GC.Collect()
	  sw.Start()
	  PerfTests.UseGenerics()
	  sw.Stop()
	  Dim mils2 As Long = sw.ElapsedMilliseconds

	  sw.Reset()
	  GC.Collect()
	  sw.Start()
	  PerfTests.UseArrayList()
	  sw.Stop()
	  Dim mils3 As Long = sw.ElapsedMilliseconds

	  MessageBox.Show(mils1.ToString() & " > " & mils2.ToString() & " > " & mils3.ToString())
	End Sub

	' memory
	Private Sub button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button2.Click
	  Memory.ShowMemory()
	End Sub

	' virtual calls
	Private Sub button3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button3.Click
	  Dim mc As [MyClass] = New [MyClass]()
	  mc.Test2()
	  mc.Test1()
	End Sub

	Private Sub button4_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button4.Click
	  GC.Collect()
	  GC.WaitForPendingFinalizers()
	End Sub

  End Class
End Namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -