The answer should be obvious: since the IL is the same, use whatever works best based on purely source-code considerations.
In general, this means going with the const string
in order to not have a magic value appear in your Foo
method. If the constant is used just once this might not sound very convincing, but if there is even a possibility of using it more than once in the future then DRY is pretty much a shotgun argument.
Update:
In this specific case (debugging output, constant is guaranteed to be used only once) I don't think that a constant provides any value. I 'd hardcode the string literal.