7

我认为我的问题与此不同: C# 中字符串前面的 @ 是什么?

我在 VB.net 工作,所以这在 C# 中可能是一些简单的事情,但我不知道这一点。

我得到以下代码,其中一个字符串变量中有 10 个 XML。在下面的代码片段中调用 LoadXml 方法时,请告知在 claimList 字符串变量前面需要什么 @ 符号:

private void UploadNewClaims(PMAUser grumble, string companyAbbreviation, string claimsList)
{
    var claimDoc = new System.Xml.XmlDocument();
    claimDoc.LoadXml(@claimsList);
4

1 回答 1

21

在这种情况下,它是完全没有必要的,但它允许您使用任何关键字作为 C# 中的标识符。它根本不会改变标识符的含义或它的使用方式——它只会告诉编译器您希望将以下字符识别为关键字。

例如:

string @int = "hello";
var @void = @int;

将其用作标识符claimsList表明编写它的人不理解它。标识符用于字符串变量的事实在这里完全无关紧要。

就我个人而言,我几乎只将该功能用于扩展方法,众所周知我会调用第一个参数@this

public static void Foo(this Bar @this)
{
    return @this.Baz() * 2;
}
于 2013-03-06T05:15:49.503 回答