NSLogWriter ArgumentOutOfRangeException

时间:2012-07-28 03:10:21

标签: exception xamarin.ios arguments range stringbuilder

正如您在附带的屏幕截图中看到的那样,我正在检查sb的长度,如果它不是0,它将执行Replace命令。

然而,不知何故,Length为零,它正在执行Replace命令并抛出异常。但是'_str'中有内容,所以我不明白长度如何为零......

这是StringBuilder中的错误吗?

enter image description here

下面是另一个错误,可能与上面的错误有关。您可以看到我注释掉了Replace命令,现在它在ToString()上失败了。

enter image description here

1 个答案:

答案 0 :(得分:1)

您是如何使用NSLogWriter的?像这样(见我的blog):

Console.SetOut (new NSLogWriter ());
Console.WriteLine ("we're back in action!");

或者您正在创建(和使用)您自己的实例? e.g。

var log = new NSLogWriter ();
log.WriteLine ("uho");

如果你使用第二种方式,那么你需要自己处理多线程。例如。另一个日志可以在sb支票和Length来电之间刷新(并清除Replace)。

System.Console可以避免这种情况,因为NSLogWriter包含TextWriter.Synchronized,例如类似于:

stdout = new NSLogWriter ();
stdout = TextWriter.Synchronized (stdout);