在C#变量名称前放置@会做什么?

我一直在使用一些C#遗留代码,并且在变量名的前面看到了很多@符号。这意味着什么或做什么?


目前,我在没有保留通用名称的变量前看到了很多。例如:


MyProcedure(@step.LoadInstanceId, @step.ResultCode, @step.StatusCode);

鉴于该步骤不是保留字,是否有任何理由应将其转义?


哔哔one
浏览 492回答 3
3回答

ibeautiful

这只是允许将保留关键字声明为vars的一种方法。void Foo(int @string)

繁星点点滴滴

它允许您将保留字(例如“ public”)用作变量名。string @public = "foo";我不建议这样做,因为这可能导致不必要的混乱。
打开App,查看更多内容
随时随地看视频慕课网APP