无法将类型'Java.Lang.IAppandeble'隐式转换为'Java.Lang.StringBuilder'

时间:2013-07-03 10:40:29

标签: c# android mono append xamarin

我收到此错误“无法将类型'Java.Lang.IAppandeble'隐式转换为'Java.Lang.StringBuilder'。”

我不确定发生了什么。

这是代码

StringBuilder text = new StringBuilder ();
char a = Convert.ToChar("x = ");
char b = Convert.ToChar(e.Values [0]);
char c = Convert.ToChar(", y = ");
char d = Convert.ToChar(e.Values [1]);
char t = Convert.ToChar(", z = ");
char f = Convert.ToChar(e.Values [2]);
text = text.Append (a).Append (b).Append (c).Append (d).Append (t).Append (f); //error

2 个答案:

答案 0 :(得分:1)

您的代码非常错误。 Convert.ToChar返回单个字符。您无法将整个字符串转换为单个字符。

请改为尝试:

var text = string.Format("x = {0}, y = {1}, z = {2}",
                         e.Values[0], e.Values[1], e.Values[2]);

您获得的编译器错误来自于您似乎正在使用Xamarin公开的StringBuilder类。这包含了Android SDK中可用的StringBuilder 但这并不是你想在C#代码中使用的东西。在C#代码中,您要使用System.Text.StringBuilder

答案 1 :(得分:0)

首先,此代码会导致acT的运行时异常;当然代码执行将在char a = Convert.ToChar("x = ");行停止抱怨

"x = "必须只有一个字符,例如:"x",依此类推

其次,追加不会给你一个错误!它会正常附加字符串。

第三,你的异常似乎与Java有关,你用c#标记问题,所以?