小编Mik*_*ike的帖子

在集合初始值设定项中使用条件

我有几个值要放入字典中:

// 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)

c# dictionary

12
推荐指数
2
解决办法
2119
查看次数

Visual Studio 2019 在测试资源管理器中显示重复测试

重复单元测试开始出现在我最近从 2017 升级的 Visual Studio 2019 中。我在下面对 Visual Studio 2017 和 2019 进行了并排比较,其中显示了一些测试被复制并分类为未运行的测试: 在此处输入图片说明

清理解决方案并没有摆脱这些测试,唯一能做的就是删除 git 存储库并再次克隆它。

在此处输入图片说明

有没有人遇到过这个问题并且有比这种大锤方法更好的解决方案?

testing unit-testing duplicates test-explorer visual-studio-2019

6
推荐指数
1
解决办法
902
查看次数