【发布时间】:2018-07-20 19:25:45
【问题描述】:
我刚刚下载了 ReSharper,因为我的许多同事多年来一直在奉承它。我正在浏览我的一个程序,我发现了一些扩展程序提出的建议,有些有用,有些没有。然而,一个建议确实让我感到困惑。最初,我有这个简单的代码:
foreach (Device foo in MasterDataGrid.ItemsSource)
{
Console.WriteLine("Value for {0}: {1}", foo.Name, foo.OriginalValue);
}
这工作得很好,而且我多年来一直在格式化这样的字符串,没有任何问题。但是,ReSharper 建议我使用资源而不是字符串文字。这是 ReSharper 完成后的代码。
foreach (Device foo in MasterDataGrid.ItemsSource)
{
Console.WriteLine(Properties.Resources.MainWindow_HistoryButton_Click_Value_for__0____1_, foo.Name, foo.OriginalValue);
}
我是 C# 和一般编程的新手,所以我不知道这是一件可以做的事情。
这是否比我拥有的更好?在什么情况下,我会注意到两段代码之间的差异,差异有多大?
【问题讨论】:
-
字符串插值是这种情况的好方法: Console.WriteLine($"Value for {foo.Name}: {foo.OriginalValue}");
-
从现在开始我肯定会使用字符串插值。更具可读性
-
顺便说一句,您可以特别关闭该建议,以免再次打扰您。