令人失望的vb 的范型
vb.net 也加入了范型,令人振奋,但是今天写了一个测试的例子,其结果,却让我失望不已
这叫什么啊~~~~
难道是我的代码有问题
2Imports System.Collections
3Imports System.Collections.Generic
4
5Public Delegate Sub Method()Sub Method()
6
7Public Module VBGenericModule VBGeneric
8
9 Sub Main()Sub Main()
10 RunTest(New Test("ArrayList of string", AddressOf t1), _
11 New Test("ArrayList of int", AddressOf t2), _
12 New Test("List(Of String)", AddressOf t3), _
13 New Test("List(Of Integer)", AddressOf t4))
14 'Console.ReadLine()
15 End Sub
16
17 Sub t1()Sub t1()
18 Dim list As ArrayList = New ArrayList
19 For i As Integer = 0 To 1000
20 list.Add("hello")
21 Dim str As String = CType(list(0), String)
22 list.Remove(0)
23 Next
24 End Sub
25
26 Sub t2()Sub t2()
27 Dim list As ArrayList = New ArrayList
28 For i As Integer = 0 To 1000
29 list.Add(123)
30 Dim str As Integer = CType(list(0), Integer)
31 list.Remove(0)
32 Next
33 End Sub
34
35 Sub t3()Sub t3()
36 Dim list As List(Of String) = New List(Of String)
37 For i As Integer = 0 To 1000
38 list.Add("hello")
39 Dim str As String = list(0)
40 list.Remove(0)
41 Next
42 End Sub
43
44 Sub t4()Sub t4()
45 Dim list As List(Of Integer) = New List(Of Integer)
46 For i As Integer = 0 To 1000
47 list.Add(123)
48 Dim str As Integer = list(0)
49 list.Remove(0)
50 Next
51 End Sub
52
53 Sub RunTest()Sub RunTest(ByVal ParamArray tests() As Test)
54 For index As Integer = 0 To tests.Length - 1
55 tests(index).m_code()
56 Next
57
58 For index As Integer = 0 To tests.Length - 1
59 Dim start As DateTime
60 For m As Integer = 0 To 10
61 tests(index).m_code()
62 Next
63 Dim time As TimeSpan = DateTime.Now - start
64 DrawBar(index, time, tests(index).m_Name)
65 Next
66
67 End Sub
68
69 Sub DrawBar()Sub DrawBar(ByVal index As Integer, ByVal time As TimeSpan, ByVal text As String)
70
71 Dim bg As ConsoleColor = Console.BackgroundColor
72 Dim fg As ConsoleColor = Console.ForegroundColor
73 If index Mod 2 = 0 Then
74 Console.BackgroundColor = ConsoleColor.DarkBlue
75 Else
76 Console.BackgroundColor = ConsoleColor.DarkRed
77 End If
78 Console.ForegroundColor = ConsoleColor.White
79 Dim size As Integer = Math.Min(CType((time.Milliseconds / 10), Integer), 79)
80
81 text = " " + text + " " + time.Milliseconds.ToString() + "ms"
82
83 For i As Integer = 0 To size
84 Console.Write(" ")
85 Next
86 Console.WriteLine()
87
88 For i As Integer = 0 To size
89 If i < text.Length Then
90 Console.Write(text(i))
91 Else
92 Console.Write(" ")
93 End If
94
95 Next
96 Console.WriteLine()
97
98 For i As Integer = 0 To size
99 Console.Write(" ")
100 Next
101
102 Console.WriteLine()
103 Console.WriteLine()
104 Console.BackgroundColor = bg
105 Console.ForegroundColor = fg
106 End Sub
107End Module
108
109Public Class TestClass Test
110
111 Public m_Name As String
112 Public m_code As Method
113
114 Public Sub New()Sub New(ByVal name As String, ByVal code As Method)
115 Me.m_Name = name
116 Me.m_code = code
117 End Sub
118
119End Class
转载于:https://www.cnblogs.com/dlmap/archive/2005/08/09/210845.html
令人失望的vb 的范型相关推荐
- “主要的编程范型”及其语言特性关系(多图)
"主要的编程范型"(The principal programming paradigms)这幅图,其实出现得不算早,作者在2007年完成了该图的1.0版,到2008年更新至v1. ...
- 2006中国最令人失望的十所大学
2006中国最令人失望的十所大学 http://pet2008.cn/thread-31107-1-1.html 1.上海交通大学:汉芯造假案,轰动全中国.事情发生后,上海交大官方一片沉默,但是 据小 ...
- Typescript之 范型
范型 typescript在javascript基础上扩充了类型,并且可以进行静态类型检查.它在某种成都上限制javascript的灵活性,但是这种限制是必要的,在类型体系内提供灵活性,才是可控的.范 ...
- java数组的协变_Java数组协变与范型不变性
变性是OOP语言不变的大坑,Java的数组协变就是其中的一口老坑.因为最近踩到了,便做一个记录.顺便也提一下范型的变性. 解释数组协变之前,先明确三个相关的概念,协变.不变和逆变. 一.协变.不变.逆 ...
- Generic Data Access Objects -范型DAO类设计模式
Generic Data Access Objects 普通数据访问对象,这个是Hibernate官方网站上面的一个DAO类的设计模式,基于JDK5.0范型支持,文章地址如下: http://www. ...
- 使用范型观察者模式观察多个数据的实现
观察者模式是最灵活.最多变的一种模式.在现实开发中,我常常会遇到观察者很多而且观察的数据也各不相同的情况,如果采用经典的观察者实现方法,在观察者的Update方法中难免要传递Subject中自己并不关 ...
- ?通配符 以及扩展通配符在范型中的应用。。。。。。。。。。。。。。。。。。...
一.通配符 ?标识的范型化对象,可以标识任意类型的范型化 ,可以将任意类型化的值赋值给 ?通配符所规范化的类. 可以将任意类型的范型化类型 赋值给?通配符范型化的类型 . Collection ...
- Java 数组转型和范型
今天写代码遇到一个奇怪的问题,代码结构如下: [java] view plaincopy print? ArrayList<String> list = new ArrayList< ...
- C++ Primer 第十六章 模板与范型编程
16.1 模板定义 模板和c#范型一样,建立一个通用的类或函数,其参数类型和返回类型不具体指定,用一个虚拟的类型来代表,通过模板化函数或类实现代码在的重用. 定义语法是: tem ...
- 分析 C# 2.0 新特性 -- 范型(Generics)
分析 C# 2.0 新特性 -- 范型(Generics) 作者:梁振[MS-MVP] 范型是提高面向对象程序多态性设计衍生的. 1,C# 多态性设计回顾和展望 在引入范型这个概念之前,回顾一下1 ...
最新文章
- 公司各个阶段 CTO 需要做什么?(上篇)
- mysql my.cnf key_buffer_size_mysql5.6之key_buffer_size优化设置-阿里云开发者社区
- c#做端口转发程序支持正向连接和反向链接
- 【英语学习】【WOTD】charisma 释义/词源/示例
- luasql在Fedora20下的安装与使用示例
- 2020 年度 OSC 中国开源项目评选结果公布
- origin做相关性分析图_Origin9.1科技绘图及数据分析
- Sine-Tent-Cosine混沌映射(提供参考文献及Matlab代码)
- python图片转文字easyocr_Python OpenCV读取png图像转成jpg图像存储
- 推荐10款社群运营必备工具
- 机器学习周志华——机器学习的应用领域
- Unity设置字体颜色渐变
- 技术管理进阶——你了解成长的全貌吗?
- 十进制数怎样转成十六进制数?
- 【SpringBoot】70、SpringBoot实现MySQL数据库自动备份管理系统
- Spring Security 的 RememberMe 详解 !!!!!
- 【Android】Intent传递数据量过大的问题android.os.TransactionTooLargeException
- openstack项目_软件定义的经济,OpenStack的新孵化项目等
- android自定义列表显示,Android列表实现(3)_自定义列表适配器思路及实现代码
- Azkaban搭建3.32.0
热门文章
- oracle 10g 安装步骤
- (centos6.5)MySQL服务安装
- 域名转让代码_互联网域名转让协议(中英)
- attr()里面的回调函数
- poll函数_Windows 上有 poll 函数吗?
- 【渝粤教育】国家开放大学2018年秋季 1174t水工钢筋混凝土结构(本) 参考试题
- 【渝粤教育】国家开放大学2018年春季 0314-21T兽医基础 参考试题
- [渝粤教育] 中国地质大学 职业健康管理体系 复习题
- 【渝粤教育】电大中专Office办公软件 (3)作业 题库
- 小波多尺度分析的发明:跨学科创新的典范