原帖由 cheong00 于 2007-9-25 22:37:00 发表 我會這樣寫:
======
Private Sub Command1_Click() Text4.Text = CStr((CSng(Text1.Text) + CSng(Text2.Text) + CSng(Text3.Text)) / 3) End Sub
======
我不明白為什麼不教用 a = CSng(Text1.Text) 即把型別轉換都寫進去. 沒那概念而習慣用Varient的話, 以後學其他Language時會很麻煩的...
EDIT: 即使繼續寫VB也很麻煩的... 好像我這樣用一行式寫而不做型別轉換的話, 如果Text1到Text3的內容分別是2, 3, 4的話, Text4的內容就會是(234 / 3) = 78而不是3了
|
=v=
果然还是没教好啊...
其实我是怕教的东西多会让人混淆,所以就沿着她的程序这么改下来了...
单从VB的特点来讲,字符串和数字类型确实能直接转换,而且在“+”和“&”下面会发生不同种类的类型变换
数字 + 数字 -> 数字(相加)
文字列 + 数字 -> 数字(只要文字列能变换成数字,相加)
文字列 + 文字列 -> 文字列(文字列串联)
数字 & 数字 -> 两个数字的文字列?(这个倒不是很清楚)
数字 & 文字列 -> 数字转换成文字列串联成一个新的文字列
文字列 & 文字列 -> 串联起来的文字列
大致感觉就是这样,所以cheong00兄如果不用转换的话,会把三个数字连起来。
接下来说说个人观点:(就当我今天半夜没事做,一个人自言自语好了orz)
其实我是写C/C++出身的,当然对C/C++以及后来接触的内嵌ASM,还有风格与C/C++相同的C#特别热爱
不单单是因为他们是强类型语言,还有就是对底层有着非常好的控制能力
目前因为做的项目范围比较广,什么语言都有所接触
首先说说VB吧...做过一个项目VB6.0 VB.NET ASP混合的系统...系统逻辑不难,难得就是各种语言之间的接口调用
VB是一种比较简单的语言,主要编写界面,事件驱动,只要写程序片断而不用考虑各种事件之间的影响。
对于新手容易入门,但VB写的时候最好还是把强制类型声明选项打开,有时候编译器帮你掩盖错误不是一件好事情。
相反,根据编译器的提示,自己修改的错误或问题点越多,你能学到的也就也多
VB.NET是微软基于.NET体系,发展出来的一种符合VB语法的语言。其实应该说它和.NET程序的写法类似,
和VB类似仅仅是因为它继承了VB的各种旧的特性,不过在实际运用中,除非是移植的代码,否则不应该用这些旧特性,
因为微软为了在新的.NET体系上实现这些旧的功能,导致内部的代码的效率有所降低。(最明显的就是On Error GoTo 这个语法)
对于VB而言,个人不是很喜欢,毕竟写起来和C/C++完全不一样,没手感了orz
不过VB有一个优点就是COM的调用是非常便利的。
这半年又做了Java的项目...Struts框架=v=
怎么说呢,对于Java这语言来说,确实和C/C++非常像,但还是有几个弱点:
个人认为的第一个弱点本来应该是属于Java的优点——没指针
可能因为我对细节控制特别在意吧,没指针让我在许多处理上都要花费更大的代价去完成一项很简单的工作
这里引出来的问题就是类型转换,Java是没有无符号数的,曾经碰到一个要测试字符编码的问题,
非得把文字的符号数转成非符号数才能进行判断。(如果在C/C++中只要一个类型转换就行了,其实实际代码什么事情都没有做,
因为指针还是一个,只是编译器换了一种类型去解释它)
另一个还是老问题...速度太慢...昨天开了两个Eclipse同时跑高负荷的程序的时候,想停下来怎么也停不下来,死在那里最后竟然自动重启了orz
对于Java,Eclipse提供的IDE环境还是非常不错的,即时的编译错误提示,编译错误仍能调试,CheckStyle和FindBugs的语法和格式的检查
不过对于Java的速度来说,实在有点不爽orz
个人最喜欢的还是C/C++和Win32 API的组合,挖掘操作系统的秘密还是作为一个热爱写程序的程序员的终极目标啊~~~~(远目