我有几个值要放入字典中:
// Pretend these values are retrieved from a database or something
string firstName = "John";
string lastName = "Smith";
List<string> listHobbies = new List<string> () {"hockey","soccer"};
var dict = new Dictionary<string, dynamic>()
{
{"firstName", firstName},
{"lastName", lastName},
{"hobbies", listHobbies}
};
Run Code Online (Sandbox Code Playgroud)
但是,在某些情况下,List<string>变量可能是空列表。如果是这种情况,我不想将{"hobbies", listHobbies}键添加到生成的字典中。
有没有办法在字典的集合初始值设定项中实现这个检查?还是我坚持使用 if 语句来检查列表的大小并在声明后立即删除密钥?
编辑:本质上,我想知道 C# 是否允许这样的事情:
var dict = new Dictionary<string, dynamic>()
{
{"firstName", firstName},
{"lastName", lastName},
{"hobbies", listHobbies} unless (listHobbies.Count == 0) // don't add the "hobbies" key if the list …Run Code Online (Sandbox Code Playgroud) 重复单元测试开始出现在我最近从 2017 升级的 Visual Studio 2019 中。我在下面对 Visual Studio 2017 和 2019 进行了并排比较,其中显示了一些测试被复制并分类为未运行的测试: 
清理解决方案并没有摆脱这些测试,唯一能做的就是删除 git 存储库并再次克隆它。
有没有人遇到过这个问题并且有比这种大锤方法更好的解决方案?
testing unit-testing duplicates test-explorer visual-studio-2019