Используйте StringBuilder для создания выходных строк вместо объединения каждого значения.
И вы можете создать свой собственный класс отладчика (MyDbg), который содержит член WriteLine, содержимое которого вы можете окружить директивами компиляции. Он не будет полностью компилировать код отладки, но превратит ваши вызовы MyDbg.WriteLine в no-ops.
Вот краткий набросок класса:
using System;
using System.Text ;
public static class MyDbg
{
public static void WriteLine(string str) // and some other params
{
#if DEBUG
StringBuilder sb = new StringBuilder();
sb.Append(str);
// etc. appending other params as you see fit
#endif
}
}
OR
[Conditional("DEBUG")]
public static class MyDbg
{
public static void WriteLine(string str) // and some other params
{
StringBuilder sb = new StringBuilder();
sb.Append(str);
// etc. appending other params as you see fit
}
}
Вы, конечно, изменили бы его под свои нужды. И вместо того, чтобы создавать отдельный класс, вы можете создать метод-член, если #if DEBUG / # endif встроен для отображения своего собственного состояния в отладчике.