C# 在嵌套字典C中存储#
我想把这个放到C# 在嵌套字典C中存储#,c#,.net,dictionary,C#,.net,Dictionary,我想把这个放到字典中 因此,Broadcom将是第一本词典中的关键,其余的将是value-the-value。该值应存储为字典,其中连接名称是键,本地连接是值。我该怎么做呢?我是编程新手。谢谢你的帮助。 var dic=新字典( {“博通”, 新词典( { {“连接名称”,“本地连接”}, {“已启用DHCP”,“否”}, {“IP地址”[01],“abc.de.fg.h”} } ) } ); 我唯一关心的是IP地址本身应该在连接设置中的字典中,而不是一个字符串,因此子字典应该是字典 与flq
字典中
因此,Broadcom将是第一本词典中的关键,其余的将是value-the-value。该值应存储为字典,其中连接名称是键,本地连接是值。我该怎么做呢?我是编程新手。谢谢你的帮助。
var dic=新字典(
{“博通”,
新词典(
{
{“连接名称”,“本地连接”},
{“已启用DHCP”,“否”},
{“IP地址”[01],“abc.de.fg.h”}
}
)
}
);
我唯一关心的是IP地址本身应该在连接设置中的字典中,而不是一个字符串,因此子字典应该是字典
与flq的答案类似,这里有一个更全面的解决方案,它使这两个子词典:
var dic = new dictionary<string, dictionary <string, string>>(
{"Broadcom",
new dictionary <string, string>(
{
{"Connection Name", "Local Area Connection"},
{"DHCP Enabled", "No"},
{"IP address(es) [01]", "abc.de.fg.h"}
}
)
}
);
使用System.Collections.Generic;
使用System.Linq;
名称空间LINQDictionaryDemo
{
公共类IP地址
{
公共int索引{get;private set;}
公共字符串值{get;private set;}
公共IP地址(整数索引,字符串值)
{
这个。索引=索引;
这个。值=值;
}
}
公共类网络连接
{
公共字符串名称{get;set;}
公共字符串连接名{get;set;}
公共布尔DHCPEnabled{get;set;}
公共列表IP地址{get;set;}
公共词典
{
返回新词典
{
{“ConnectionName”,ConnectionName}
,{“DHCPEnabled”,DHCPEnabled.ToString()}
,{“IPAddresses”,IPAddresses.ToDictionary(k=>k.Index,v=>v.Value)}
};
}
}
公共静态类演示
{
公共静态无效运行()
{
var lnc=新列表
{
新网络连接
{
Name=“Broadcom”,
ConnectionName=“本地区域连接”,
DHCPEnabled=false,
IPAddresses=新列表{新IPAddress(1,“abc.de.fg.h”)}
}
};
var dic=lnc.ToDictionary(k=>k.Name,v=>v.ToDictionary());
}
}
}
var dic=新字典(
{“博通”,
新词典(
{
{“连接名称”,“本地连接”},
{“已启用DHCP”,“否”},
{“IP地址”[01],“abc.de.fg.h”}
}
)
}
);
我唯一关心的是IP地址本身应该在连接设置中的字典中,而不是一个字符串,因此子字典应该是字典
与flq的答案类似,这里有一个更全面的解决方案,它使这两个子词典:
var dic = new dictionary<string, dictionary <string, string>>(
{"Broadcom",
new dictionary <string, string>(
{
{"Connection Name", "Local Area Connection"},
{"DHCP Enabled", "No"},
{"IP address(es) [01]", "abc.de.fg.h"}
}
)
}
);
使用System.Collections.Generic;
使用System.Linq;
名称空间LINQDictionaryDemo
{
公共类IP地址
{
公共int索引{get;private set;}
公共字符串值{get;private set;}
公共IP地址(整数索引,字符串值)
{
这个。索引=索引;
这个。值=值;
}
}
公共类网络连接
{
公共字符串名称{get;set;}
公共字符串连接名{get;set;}
公共布尔DHCPEnabled{get;set;}
公共列表IP地址{get;set;}
公共词典
{
返回新词典
{
{“ConnectionName”,ConnectionName}
,{“DHCPEnabled”,DHCPEnabled.ToString()}
,{“IPAddresses”,IPAddresses.ToDictionary(k=>k.Index,v=>v.Value)}
};
}
}
公共静态类演示
{
公共静态无效运行()
{
var lnc=新列表
{
新网络连接
{
Name=“Broadcom”,
ConnectionName=“本地区域连接”,
DHCPEnabled=false,
IPAddresses=新列表{新IPAddress(1,“abc.de.fg.h”)}
}
};
var dic=lnc.ToDictionary(k=>k.Name,v=>v.ToDictionary());
}
}
}
请帮自己一个大忙,用一门课来做这件事,因为两个月后你将无法理解你的代码:
using System.Collections.Generic;
using System.Linq;
namespace LINQDictionaryDemo
{
public class IPAddress
{
public int Index { get; private set; }
public string Value { get; private set; }
public IPAddress(int Index, string Value)
{
this.Index = Index;
this.Value = Value;
}
}
public class NetworkConnection
{
public string Name { get; set; }
public string ConnectionName { get; set; }
public bool DHCPEnabled { get; set; }
public List<IPAddress> IPAddresses { get; set; }
public Dictionary<string, object> ToDictionary()
{
return new Dictionary<string, object>
{
{ "ConnectionName", ConnectionName }
, { "DHCPEnabled", DHCPEnabled.ToString() }
, {"IPAddresses", IPAddresses.ToDictionary(k => k.Index, v => v.Value)}
};
}
}
public static class Demo
{
public static void Run()
{
var lnc = new List<NetworkConnection>
{
new NetworkConnection
{
Name = "Broadcom",
ConnectionName = "Local Area Connection",
DHCPEnabled = false,
IPAddresses = new List<IPAddress> {new IPAddress(1, "abc.de.fg.h")}
}
};
var dic = lnc.ToDictionary(k => k.Name, v => v.ToDictionary());
}
}
}
为您提供类型为
Dictionary
的字典。你认为,两周后你会更好地理解这一点吗,或者更确切地说,你会理解你的恐怖字典吗?请帮你自己一个大忙,并为此使用一门课程,因为两个月后你将无法理解你的代码:
using System.Collections.Generic;
using System.Linq;
namespace LINQDictionaryDemo
{
public class IPAddress
{
public int Index { get; private set; }
public string Value { get; private set; }
public IPAddress(int Index, string Value)
{
this.Index = Index;
this.Value = Value;
}
}
public class NetworkConnection
{
public string Name { get; set; }
public string ConnectionName { get; set; }
public bool DHCPEnabled { get; set; }
public List<IPAddress> IPAddresses { get; set; }
public Dictionary<string, object> ToDictionary()
{
return new Dictionary<string, object>
{
{ "ConnectionName", ConnectionName }
, { "DHCPEnabled", DHCPEnabled.ToString() }
, {"IPAddresses", IPAddresses.ToDictionary(k => k.Index, v => v.Value)}
};
}
}
public static class Demo
{
public static void Run()
{
var lnc = new List<NetworkConnection>
{
new NetworkConnection
{
Name = "Broadcom",
ConnectionName = "Local Area Connection",
DHCPEnabled = false,
IPAddresses = new List<IPAddress> {new IPAddress(1, "abc.de.fg.h")}
}
};
var dic = lnc.ToDictionary(k => k.Name, v => v.ToDictionary());
}
}
}
为您提供类型为
Dictionary
的字典。你觉得呢,两周后你能更好地理解这一点吗,或者更确切地说是你可怕的字典?你的数据来源是什么,以何种形式获取?你的数据来源是什么,以何种形式获取?当数据位于.txt文件中时,我该如何处理?@DrShah:你需要解析它。@DrShah你需要读取文本文件并将其解析为一些变量(可能一次使用一行TextReader/StreamReader:),然后从变量创建字典。我还建议使用一个类来封装您的逻辑。在这种情况下,我该怎么做
var dict = listOfWhatisThis.ToDictionary(k=>k.Name, v=>v}