c#里@是什么意思?代码如下:
piccy =  Image.FromFile( @"C:\ProCSharp\GdiPlus\Images\cf4group.bmp");

解决方案 »

  1.   

    @"C:\ProCSharp\GdiPlus\Images\cf4group.bmp"
    等价于:
    "C:\\ProCSharp\\GdiPlus\\Images\\cf4group.bmp"\本身是转义符,而如果在字符串的引号前加上@符号,\将等价于\\,即\字符而非转义符。即取消串中\的转义功能。
      

  2.   

    但这只是C#为我们提供的一种便利写法,编译成中间语言IL代码后,没有@这个概念。
      

  3.   

    @符号是特殊而又实用的C#符号。
       
    比如它在string中的应用。
       
    ⊙ ⊙ 字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。 // 这个说法来自C# Primer 中文版(Stanley B. Lippman, 侯捷/陈硕合译)对于逐字字符串字面变量(verbatim string literal ),我们不再需要使用“转义序列”就可以指定反斜线之类的特殊字符。@的这个特点使得在表示文件路径时很方便。
      如:
      string str = @"C:\Test.txt";
       
    ⊙ ⊙ 另外一点,用@表示的字符串能够跨越数行。这数行之内的空白字符(White Space)都会保留在字符串里。
      这样便能允许存储和生成带有格式的文本块。
      如:
      string strText = @"Line1
      Line2
      Line3";
       
    ⊙ ⊙ 不知道大家在最初看到@的功能时有没有想,如果“转义序列”(\)在字符串中“失效”,那么想包含一个双引号("),怎么办?我找到了答案。
      方法很简单。在双引号之前再加一个双引号即可。等等...