I have some code which is littered with debug expressions similar to:
System.Diagnostics.Debug.WriteLine(System.BitConverter.ToString(data.Take(32).ToArray()));
What can I do to prevent the Release version evaluating System.BitConverter.ToString(data.Take(32).ToArray())
?
I have added my own debug class that allows me to control calls to WriteLine()
based on the level of reporting I want but both methods evaluate the Linq and string conversion even in Release mode (don't they)?
---ADDED LATER---
As I said above there are many of these lines in the code and I don't particularly want to #if DEBUG
them all out.
What I want is to know how to avoid evaluating the Linq and the BitConverter, which I assume will be a performance hit, in Release mode.