日期:2014-05-17 浏览次数:21111 次
@"北京大学简称为""北大""" == "北京大学简称为\"北大\""
------解决方案--------------------
string SchoolInfo1 = @"北京大学简称为\"北大\"" ;
改成这样
string SchoolInfo1 = "北京大学简称为\"北大\"" ;
@的意思就是告诉编译器,这里面的字符不需要转义。
------解决方案--------------------
@是取消字符串中的转意符。
不加@的字符串:"北京大学简称为\"北大\"",C#会解释成两个(一个\和一个")。
如果加了@:@"北京大学简称为\"北大\"" ,C#会解释成两个\加两个"。
其实你写成:@"北京大学简称为""北大""",就能达到你要的效果了。
------解决方案--------------------
摘录自某书,C#引入了以@为前缀的字符串字面量记法,术语称作逐字字符串。
使用逐字字符串,可以使对一个字面量的转义字符的处理失效并输出字符串。
这在使用表示目录和网络路径的字符串时最有用。
因此不需要使用\\转义字符,所有的转义字符都被显示出来了。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; // 一定要加上这一行
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label1.Text = "北京大学简称为\"北大\"";
//label1.Text = @"北京大学简称为\"北大\"";
label1.Text = @"北京大学简称为""北大""";
}
}
}