C#报错无法将object隐式转换为string:string.Concat引用Class15字段异常求助
报错原因
Class15.NiQuukmat3 和 Class15.lGiu4xuk4E 两个字段的声明类型为object,即使实际赋值为字符串,也无法直接存入string[]数组,编译器无法完成隐式类型转换,因此触发报错。
修复方案
方案1:局部显式转换
在两处报错位置添加string类型的强制转换即可,修改后的完整代码如下:
object[] parametersObjects = new object[] { this.Client, string.Concat(new string[] { (string)Class15.NiQuukmat3, Data.SPL_SOCKET, "msg:", text, Data.SPL_SOCKET, array[0], Data.SPL_SOCKET, array[1], Data.SPL_SOCKET, (string)Class15.lGiu4xuk4E, Data.SPL_SOCKET, "0", Data.SPL_SOCKET, "0", Data.SPL_SOCKET, Data.SPL_ARRAY, Data.SPL_SOCKET, this.classClient.ClientRemoteAddress }), Class5.Encoding().GetBytes("null"), this.classClient };
方案2:修改字段声明类型(更推荐)
直接将Class15类中这两个字段的声明类型从object修改为string,从根源避免后续同类问题:
// Class15 类中对应字段修改为string类型即可 public static string NiQuukmat3; public static string lGiu4xuk4E;
修改后无需再做强制转换,原有拼接代码可直接正常运行。
内容的提问来源于stack exchange,提问作者user16535021
相关产品推荐
相关产品推荐

