C#与VB.NET代码中出现“string does not contain a definition for valueOf”错误的技术求助
解决.NET中“string does not contain a definition for valueOf”错误
嘿,这个问题一看就知道是把Java的编程习惯带到C#/VB.NET里啦!.NET框架里的String类根本没有valueOf这个静态方法——这是Java里用来将其他类型转为字符串的方法,在.NET里我们有不同的实现方式。
针对你的代码,核心需求是把单个char类型转成string,下面是修正后的写法:
C# 修正代码
public static string e(string str, int i5) { // 先获取目标字符 char targetChar = str.ToCharArray()[(int)(str.Length / i5)]; // 直接调用char的ToString()方法转为字符串 return targetChar.ToString(); // 或者也可以用String的构造函数: // return new string(targetChar, 1); }
VB.NET 修正代码
Public Shared Function e(ByVal str As String, ByVal i5 As Integer) As String Dim targetChar As Char = str.ToCharArray()(CInt(str.Length / i5)) ' char转字符串直接调用ToString() Return targetChar.ToString() ' 或者用String构造函数的写法: ' Return New String(targetChar, 1) End Function
额外说明
在.NET中,如果需要将其他类型(比如数值、对象)转为字符串,常用的方式是:
- 调用该类型自身的
ToString()方法(最常用) - 使用
Convert.ToString()方法(能处理null的情况)
再也不用记Java的valueOf啦,适配.NET的写法就不会报错了!
内容的提问来源于stack exchange,提问作者mortada ali
相关产品推荐
相关产品推荐

