声明包含单引号/撇号的 char 值的最清晰方法

问题描述 投票:0回答:7

要在 C# 中声明 char 值,我们只需用单引号将字符引起来:

'x'

但是声明 char 值的“最清晰”方法是什么?单引号/撇号?

我最终使用了

"'"[0]
,尽管我预计
''''
可以工作(因为
""
可用于分隔字符串中的引号字符。

有更明智、更简洁的选择吗?

c# char
7个回答
74
投票

您可以使用反斜杠转义引号:

'\''


15
投票

您还可以使用

'\''
(char)39


8
投票

我想你正在寻找

'\''


4
投票

我想这是个人喜好的问题,我发现逃避它是最清楚的,例如:

char c = '\'';

2
投票

你总是可以尝试:

 char c = '\'';

2
投票

对于我会使用的字符

myChar = '\'';

反斜杠是字符串和字符中的标准转义键,大多数人应该能够理解这一点。


0
投票

这些答案对我来说都不够足够清晰。单引号(撇号)乍一看就像重音符号(反引号,反引号)。我不想盯着它看。 你没有理由逃避严重的口音,但你可能会犯错,所以它是模棱两可的。

(char)39 和 (char)0x27 不是助记符,所以它不是立即显而易见的,所以不是立即清楚的。

恕我直言,表示字符的最清晰方法是通过引用包含这些常量的文件来用英语单词拼写标识符......

    // This is a set of some Unicode printables.
    public const char UnicodeSpace = '\u0020';
    public const char UnicodeExclamationMark = '\u0021';
    public const char UnicodeQuotationMark = '\u0022';
    public const char UnicodeNumberSign = '\u0023';
    public const char UnicodeDollarSign = '\u0024';
    public const char UnicodePercentSign = '\u0025';
    public const char UnicodeAmpersand = '\u0026';
    public const char UnicodeApostrophe = '\u0027'; // single quote
    public const char UnicodeLeftParenthesis = '\u0028';
    public const char UnicodeRightParenthesis = '\u0029';
    public const char UnicodeAsterisk = '\u002a';
    public const char UnicodePlusSign = '\u002b';
    public const char UnicodeComma = '\u002c';
    public const char UnicodeHyphen = '\u002d';
    public const char UnicodePeriod = '\u002e';
    public const char UnicodeSlash = '\u002f';
    public const char UnicodeColon = '\u003a';
    public const char UnicodeSemicolon = '\u003b';
    public const char UnicodeLessThanSign = '\u003c';
    public const char UnicodeEqualsSign = '\u003d';
    public const char UnicodeGreaterThanSign = '\u003e';
    public const char UnicodeQuestionMark = '\u003f';
    public const char UnicodeUnicodeAtSign = '\u0040';
    public const char UnicodeLeftSquareBracket = '\u005b';
    public const char UnicodeBackslash = '\u005c';
    public const char UnicodeRightSquareBracket = '\u005d';
    public const char UnicodeCaret = '\u005e';
    public const char UnicodeUnderscore = '\u005f';
    public const char UnicodeGraveAccent = '\u0060'; // backquote, backtick
    public const char UnicodeLeftBracket = '\u007b'; // left brace
    public const char UnicodeVerticalBar = '\u007c';
    public const char UnicodeRightBracket = '\u007d'; // right brace
    public const char UnicodeTilde = '\u007e';
    public const char UnicodeBackquote = Constants.UnicodeGraveAccent;
    public const char UnicodeBacktick = Constants.UnicodeGraveAccent;
    public const char UnicodeLeftBrace = Constants.UnicodeLeftBracket;
    public const char UnicodeRightBrace = Constants.UnicodeRightBracket;
© www.soinside.com 2019 - 2024. All rights reserved.