zoukankan      html  css  js  c++  java
  • C# 转义字符

    https://blog.csdn.net/qq_38819293/article/details/88570586

    编程中很多细节问题我们都要十分的注意,要不一个小小的字母错误就能引起程序的无法运行。

    C#中转义字符分2中,一种是\,一种是@。

    @符号在C#中有两个作用
    作用1、在字符串的前面加@表示取消字符串中的转义
    例如 string path=@"d: ootsubdir";
    作用2、如果用户定义的对象名和系统关键字冲突,可以在变量前面加入@
    例如 string @Class="this is a test";

    一些字母前加「」来表示常见的那些不能显示的 ASCII 字符,如 、 、 等,就称为转义字符,因为后面的字符,都不是它本来的 ASCII 字符意思了。

    特征
    是一种特殊的字符常量;

    以反斜线「」开头,后面跟一个或几个字符;

    用来表示那些用一般字符不便于表示的控制代码;

    用可以看见的字符表示那不可以看见的字符, 如「 」表示换行;

    作用是消除紧随其后的字符的原有含义,不同于字符原有的意义,用一些普通字符的组合来代替一些特殊字符,由于其组合改变了原来字符表示的含义,故称“转义”字符。


    常用转义字符及含义
    符号    含义
        换行
        回车
        制表符
    f    换页符
        退格
    a    响铃
    e    escape(ASCII中的escape 字符)
    07    任何八进制值(这里是,007=bell(响铃))
    x7f    任何十六进制值(这里是,007=bell)
    cC    一个控制符(这里是:Ctrl+c)
        反斜线
    "    双引号
    l    下个字符小写
    L    接着的字符均小写直到E
    u    下个字符大写
    U    接着的字符均大写直到E
    Q    在 non-word 字符前加上(自动加转义符号),直到E
    E    结束L,E和Q

       空格


    拓展知识

    一 字符串中的用法

    Verbatim字符串

        对于verbatim字符串,编译 器会严格按照原样对其进行解释。也就是说,即使这个字符串跨越多行,或是包含转义字符,编译器也将不予理会,即这些格式和转义符将按照原样输出。唯一例外的是引号,编译器必须将其转义,因为只有这样才能确定字符串的边界。

        Verbatim字符串的定义语法为以@符号开始,后面紧跟包含在引号中的字符串。例如:

         string sample = @"Hello";

         string sample = @"Hello world"//生成Hello world

         以下是一个实用的示例:

         string sample=@"C:My Documentssample.txt";

         //结果为:C:My Documentssample.txt,如同语句:string sample="C:\My Documents\sample.txt"

        若想在Verbatim字符串内使用引号,必须使用附加的引号组将其转义。例如,生成字符串"Hi"的代码如下:

          String s=@" " "Hi"""//注意:两边都有3个引号

         上述代码将生成下列字符串:"Hi" 


    字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。
    @只能对字符串常量作用。
    1.用于文件路径
    以下是引用片段:
    string s_FilePath ="C:\Program Files\Microsoft.NET\test.txt";
    相当于
    以下是引用片段:
    string s_FilePath =@"C:Program FilesMicrosoft.NET est.txt";

    2.用@表示的字符串能够跨越数行。用于在CS中写JS或SQL代码比较方便。
    以下是引用片段:
    string s_MultiRows = @"Line1 
    Line2 
    Line3"; 
    string s_JavaScript = @" 
    "; 

    二 标识符中的用法

    在 C# 规范中, @ 可以作为标识符(类名、变量名、方法名等)的第一个字符,以允许C# 中保留关键字作为自己定义的标识符。

    以下是引用片段:
    class @class 

    public static void @static(bool @bool) { 
    if (@bool) 
    System.Console.WriteLine("true"); 
    else 
    System.Console.WriteLine("false"); 


    class Class1 

    static void M() { 
    clu0061ss.stu0061tic(true); 



    注意,@ 虽然出现在标识符中,但不作为标识符本身的一部分。
    因此,以上示例,定义了一个名为 class 的类,并包含一个名为 static 的方法,以及一个参数名为了 bool 的形参。

    这样,对于跨语言的移植带来了便利。因为,某个单词在 C# 中作为保留关键字,但是在其他语言中也许不是。

  • 相关阅读:
    EffectiveJava-4
    EffectiveJava-3
    EffectiveJava-2
    EffectiveJava-1
    jar包下载
    SpringBoot踩坑日记
    Spring全家桶——SpringBoot之AOP详解
    Spring全家桶——SpringBoot渐入佳境
    Spring全家桶一一SpringBoot与Mybatis
    SpringBoot2.x【一】从零开始环境搭建
  • 原文地址:https://www.cnblogs.com/sunny3158/p/14218500.html
Copyright © 2011-2022 走看看