没用过C#,不清楚有没C#中有对应的方法。
不过C#可以使用VB.NET的内置函数。因为VB.NET的内置函数大多都在Microsoft.VisualBasic这个程序集中,只要在C#中引用这个程序集就可以使用VB.NET的函数了。
如果不想每次都使用函数的完全限定名,可以先引入Microsoft.VisualBasic命名空间。
不过,即便是引入了Microsoft.VisualBasic命名空间,还是不能直接使用像Val()这样的函数名,而要加上类名。
Val函数位于Conversion类中,这个类(在VB中是Module)中定义了Val、Hex、Str、Oct、Int、Fix等函数。
具体哪个函数在哪个类里可以在对象浏览器里看,最快捷的方法是在VB.NET环境中使用右键菜单中的“转到定义”。
实例代码:
// 引用Microsoft.VisualBasic程序集
// 并 using Microsoft.VisualBasic;
int a = (int)Conversion.Val("123abc");
Console.WriteLine(a); // 输出123
Console.ReadKey();
我想你不可能实现直接跨语言的转换,只有跨平台的转换。如果真能实现同一平台跨语言,那么我们只需要精通一门语言就可以做出所有的程序了,你应该学C#在用C#语言来翻译你的VB代码可能就可以实现其功能了。
string a = "124";
int b = Convert.ToInt32(a);