用printf保留特殊字符的格式
|
我从.net样式({0} ...)切换为printf样式格式,并注意到不再保留特殊字符的格式。
用printf保留格式的技术是什么?
我正在做类似“ 0”的事情。
我知道StringFormat会生成文字字符串(前缀为@ \“ \”),但printf不会。
编辑:
我基本上想保留格式,例如反斜杠。如果我要打印出文件路径,我希望看到\“ C:\\ Program Files ... \”不受干扰,就像将打印StringFormat一样。
没有找到相关结果
已邀请:
2 个回复
纫合峭
)和逐字字符串文字(类似于
)。无论哪种方式,字符串都将成为内存中.NET
类型的实例,本质上只是strings4ѭ值的序列。如果要创建包含某些字符(例如反斜杠)的字符串,则在使用常规字符串文字::5ѭ时应转义它们,但在使用逐字字符串文字:
时,则无需这样做。无论哪种方式,内存中的值都将包含字符\'C \',\':\',\'\\\',\'P \',\'r \'等。您可能会发现忘记转义反斜杠并不总是会导致问题,因为反斜杠仅在特定字符前面出现时才被解释为转义序列(因此,您可以with7ѭ而不是
)。 一旦值存储在内存中,
和
函数家族的工作方式基本上相同:
您会发现所有这些值都是相同的(并且在正确的位置包含反斜杠)。同样地:
它们也都相同,并且都被破坏了。 请注意,ѭ13不会消除创建字符串文字时发生的变形-它无法知道用户实际上并不需要在字符串中嵌入制表符。
犯痪桂涛杭
格式,则
函数系列将打印字符串而不会转义 (“ 15”格式指定参数为字符串,应按原样打印):
如果您使用
(表示参数是任何对象并且应使用F#语法打印-请注意,这适用于列表),则行为会有所不同。尽管即使这样似乎也无法逃脱ѭ19字符: