【问题标题】:What does '@' in a Lambda expression mean [duplicate]Lambda表达式中的“@”是什么意思[重复]
【发布时间】:2013-01-26 21:15:07
【问题描述】:

可能重复:
What does placing a @ in front of a C# variable name do?

我正在尝试学习 C# lambda 表达式。当我搜索示例时,我看到了以下代码

Where(@t => string.Compare(@t.Code, argument.Code, StringComparison.CurrentCultureIgnoreCase) == 0)

我想知道 t 前面的“@”符号是什么意思?

【问题讨论】:

  • stackoverflow.com/questions/254669/… 相同:它只是一种命名变量的方式。
  • 换句话说 - 在这种情况下不需要且令人困惑。
  • 这是一个奇怪的选择,因为据我所知,'t' 在任何情况下都不是关键字......
  • @Tharwen - 似乎 Resharper 有时会这样做 stackoverflow.com/questions/9304544/…
  • 这只是一种允许将保留关键字声明为变量的方法。 void Foo(int @string)

标签: c# lambda


【解决方案1】:

没有什么不寻常的。如果变量是关键字,您可以在变量名称前加上 @ 作为一种转义。

例如,您也可以执行 'var @class= 5' 。通常你不能编译,因为 class 是一个关键字,但前缀 @ 允许你将它用作变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 2013-10-11
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 2015-06-21
    • 2019-05-22
    • 2011-02-16
    相关资源
    最近更新 更多