c# - ReSharper 为 lambda 表达式中的变量名称提供 "@"前缀

标签 c# .net linq lambda resharper

当使用 ReSharper 时,它会自动添加一个 @,为什么?

public static string RemoveDiacritics(this string input)
{
    if (string.IsNullOrEmpty(input)) return input;
    var normalizedString = input.Normalize(NormalizationForm.FormD);
    var stringBuilder = new StringBuilder();
    foreach (var value in normalizedString.Select(value => 
        new {value, unicodeCategory = CharUnicodeInfo.GetUnicodeCategory(value)})
            .Where(@t => @t.unicodeCategory != UnicodeCategory.NonSpacingMark)
            .Select(@t => @t.value)) stringBuilder.Append(value);
    return (stringBuilder.ToString().Normalize(NormalizationForm.FormC));
}

最佳答案

@ 符号允许您为变量名使用保留关键字。如@class。我假设 Resharper 这样做是为了安全起见。

在这种情况下,不需要它也没有任何作用。

关于c# - ReSharper 为 lambda 表达式中的变量名称提供 "@"前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9304544/

相关文章:

c# - 使用 XmlInclude 的多态元素类型名称..?

c# - Relax C# LINQ 字符串比较(修剪、不区分大小写、??)

c# - 如何对所有者 == 当前用户的实体计数进行 LINQ 查询?

c# - 使用 WCF 服务 - c#, VS2008 with 3.5 SP1

c# - 配置 Caliburn 以自动附加 Loaded、Unloaded 事件

c# - 命名空间 '<global namespace>' 包含与别名 'PersianDate' 冲突的定义

C#编译错误: "No logical space left to create more user strings"

c# - ASP.NET : Testing Concurrency

c# - 如何从谓词对象中删除重复项?

c# - 仅在填充后重新排序 TreeView 节点 [0]