【发布时间】:2012-03-07 10:53:02
【问题描述】:
在使用 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));
}
【问题讨论】:
-
我也想知道为什么。我猜是为了提高可读性的约定,但我可能是错的。
-
使用
string.Concat,您可以取消StringBuilder和循环。
标签: c# .net linq lambda resharper