To add to the confusion, the ECMA-334 standard writes in its reference PDF (page 27):
This clause is informative. (...) The name C# is pronounced "C Sharp". The name C# is written as the LATIN CAPITAL LETTER C (U+0043) followed by the NUMBER SIGN # (U+000D). End of informative text. Yes it contains an error for the Unicode code point (not U+000D as indicated), but it states it is to we written with the "NUMBER SIGN". The "informative" pronounciation is not mandatory, not even, the orthograph (which also contains an error...)