C#类似list<map>,如何循环构造?
数据库:名称编号父编号1年级1NULL2年级2NULL1班312班413班524班62需要构造的为1年级1班2班2年级3班4班...
数据库:
名称 编号 父编号
1年级 1 NULL
2年级 2 NULL
1班 3 1
2班 4 1
3班 5 2
4班 6 2
需要构造的为
1年级
1班
2班
2年级
3班
4班 展开
名称 编号 父编号
1年级 1 NULL
2年级 2 NULL
1班 3 1
2班 4 1
3班 5 2
4班 6 2
需要构造的为
1年级
1班
2班
2年级
3班
4班 展开
1个回答
展开全部
public class MultMap<V>
{
IDictionary<string, List<V>> dictionary = new Dictionary<string, List<V>>();
public MultMap() { }
public void Add(string key, V item)
{
List<V> list;
if (this.dictionary.TryGetValue(key,out list))
{
list.Add(item);
}
else
{
list = new List<V>();
list.Add(item);
this.dictionary[key] = list;
}
}
public IEnumerable<string> Keys
{
get { return this.dictionary.Keys; }
}
public List<V> this[string key]
{
get
{
List<V> list;
if (!this.dictionary.TryGetValue(key,out list))
{
list = new List<V>();
this.dictionary[key] = list;
}
return list;
}
}
}
// 测试
static void Main(string[] args)
{
MultMap<string> map = new MultMap<string>();
// 构造集合映射
map.Add("1年级", "1班");
map.Add("1年级", "2班");
map.Add("2年级", "3班");
map.Add("2年级", "4班");
foreach (var key in map.Keys)
{
Console.WriteLine(key);
foreach (var item in map[key])
{
Console.WriteLine("\t"+item);
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询