我想知道哪个更有效,使用CStr()或object.toString().我问这个的原因是因为我尽管CStr()所做的就是在它正在处理的对象上调用.ToString()方法.
但是当最近使用没有任何类型约束的泛型方法时,我不得不使用object.ToString()而不是CStr(object),以下纯粹是一个例子来说明这个问题.
Public Function IDFromObject(Of ID_TYPE)(ByVal value As ID_TYPE) As String
Return value.ToString
End Function
Run Code Online (Sandbox Code Playgroud)
按预期编译,但以下没有使用CStr().它给出了ID_TYPE类型的编译错误值,无法转换为字符串.但它显然可以使用.ToString()
Public Function IDFromObject(Of ID_TYPE)(ByVal value As ID_TYPE) As String
Return CStr(value)
End Function
Run Code Online (Sandbox Code Playgroud)
为了便于阅读,如果我需要在VB.NET中编写代码(我是一名C#程序员),我会尽可能避免使用VB特定的关键字/函数.通过仅使用.NET类和方法,用于在其他.NET语言中开发的人员可以更容易理解您的代码.更不用说这些函数主要是为了与VB6兼容,与.NET的处理方式相比,它们看起来有点不合适.
当然可能有合理的例外,有时VB.NET真的很容易做某些任务,利用这个可以很方便; 但作为一个基本的规则,我不会使用任何VB.NET特定的功能.