vb.net – VB CStr,CDate,CBool??等与DirectCast相比,无需转换即
发布时间:2020-12-17 07:25:07 所属栏目:百科 来源:网络整理
导读:除非我需要进行实际转换,否则我通常会避免使用VB的内置转换函数(CStr,CDate,CBool??,CInt等).如果我只是在演员,从一个对象说到一个字符串,我通常使用DirectCast或TryCast,假设CStr等正在做一些我不需要的额外的东西.但有时DirectCast语法有点麻烦,如下例所示
除非我需要进行实际转换,否则我通常会避免使用VB的内置转换函数(CStr,CDate,CBool??,CInt等).如果我只是在演员,从一个对象说到一个字符串,我通常使用DirectCast或TryCast,假设CStr等正在做一些我不需要的额外的东西.但有时DirectCast语法有点麻烦,如下例所示.
Dim value1 As String Dim value2 As String Using cn As New SqlConnection(cnStr) Using cmd as New SqlCommmand(sqlStr,cn) Using reader = cmd.ExecuteReader() While reader.Read() value1 = DirectCast(reader("COLUMN1"),String) value2 = CStr(reader("COLUMN1")) End While End Using End Using End Using SqlDataReader.Item返回一个Object,需要将其强制转换为String. CStr更易于阅读,输入和解释(IMO). 我的问题是,我使用哪一个是否重要?我应该选择CStr(以及CDate和CBool??等)而不担心我认为这些功能正在进行的额外工作吗? 使用这些功能还有其他缺点吗? 解决方法
This is a good post在关于DirectCast与CType演员和变体的评论中进行了讨论.
简而言之,如果您想明确它并知道会发生什么,建议使用DirectCast.另一方面,Paul Vick(VB技术主管)发表的评论称,使用CType变体并不重要. 从该帖子中收集了一些有用的链接: > How should I cast in VB.NET? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |