ReSharper的给出了一个" @"在一个lambda EX pression preFIX给一个变量名 [英] ReSharper gives an "@" prefix to a variable name in a lambda expression

查看:168
本文介绍了ReSharper的给出了一个" @"在一个lambda EX pression preFIX给一个变量名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

 公共静态字符串RemoveDiacritics(此字符串输入)
{
    如果(string.IsNullOrEmpty(输入))返回输入;
    VAR规格化= input.Normalize(NormalizationForm.FormD);
    VAR的StringBuilder =新的StringBuilder();
    在normalizedString.Select(价值=&GT的foreach(VAR值;
        新{值,UNI codeCategory = CharUni codeInfo.GetUni codeCategory(值)})
            。凡(@t =>!@ t.uni codeCategory =统一codeCategory.NonSpacingMark)
            。选择(@t => @ t.value))stringBuilder.Append(值);
    返程(stringBuilder.ToString()标准化(NormalizationForm.FormC)。);
}
 

解决方案

@符号,您可以使用保留关键字的变量名。如 @class 。我认为ReSharper的这是否是安全的。

在这种情况下,是不需要的,它不产生任何效果。

When using ReSharper it automatically adds an @, why?

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));
}

解决方案

The @ symbol allows you to use a reserved keyword for a variable name. Such as @class. I'd assume Resharper does this to be safe.

In this case, it is not needed and it doesn't have any effect.

这篇关于ReSharper的给出了一个" @"在一个lambda EX pression preFIX给一个变量名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆