C#使用linq反转和序列化字典 - c#

想知道是否可以在单个LINQ语句中反转字典吗?

结构如下。

Dictionary<string, List<string>> original = new Dictionary<string, List<string>>() 
    {
        {"s", new List<string>() { "1", "2", "3" }},
        {"m", new List<string>() { "4", "5", "6" }},
        {"l", new List<string>() { "7", "8", "9" }},
        {"xl", new List<string>() { "10", "11", "12" }},
    };

我想将其转换为类型的字典;

Dictionary<string, string> Reverse = new Dictionary<string, string>()
    {
        {"1", "s"},
        {"2", "s"}, //and so on
    };

参考方案

您可以使用SelectMany拆分值子列表,然后使用ToDictionary将键和值反转为新的词典

var result = original
    .SelectMany(k=> k.Value.Select(v => new { Key = v, Value = k.Key } ))
    .ToDictionary( t=> t.Key, t=> t.Value);

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

使用javascript在客户端的列表视图中选择所有复选框 - javascript

我有一个列表视图,在标题中有一个复选框。如果标题复选框已选中/未选中,我想选择行中的所有复选框。如何在客户端实现此目标?这是ListView设计代码。<asp:ListView ID="lvTypes" runat="server" GroupPlaceholderID="groupPlaceHolde…

将值设置为无法与jQuery一起使用的隐藏字段 - javascript

我有一个使用Visual Studio 2013创建的应用程序,但是在使用jQuery向隐藏字段分配值时遇到了一些问题。首先,我要为隐藏变量分配一个值,因为我无法直接访问.cs文件中标签的文本值,因此我必须将标签的值分配给隐藏的输入字段才能访问在.cs文件中。我希望这是有道理的。这是我在.aspx文件中的隐藏输入字段: <input type=…

Div单击与单选按钮相同吗? - php

有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date&#…