Dictionary字典使用的是列举的方法。类似于数学的组合的问题。
排列计算公式:
组合计算公式:
;C(n,m)=C(n,n-m)。(n≥m)
现在做的项目中的一个例子记录下来:
在分布视图PartialView:
@{ var dicBsC = new Dictionary<string,string>{ {"1","长租业务"}, {"2","短租业务"}, {"3","班车业务"}, {"4","跨境业务"}, { "1,2", "长租业务,短租业务" }, { "1,3", "长租业务,班车业务" }, { "1,4", "长租业务,跨境业务" }, { "2,3", "短租业务,班车业务" },{ "2,4", "短租业务,跨境业务" },{ "3,4", "班车业务,跨境业务" }, { "1,2,3", "长租业务,短租业务,班车业务" }, { "1,2,4", "长租业务,短租业务,跨境业务" },{"1,3,4","长租业务,班车业务,跨境业务"}, { "2,3,4", "短租业务,班车业务,跨境业务" }, { "1,2,3,4", "长租业务,短租业务,班车业务,跨境业务" } }; }
这样就像是数学组合问题:C(4,1)+C(4,2)+C(4,3)+C(4,4) = 4+6+4+1=15
调用字典首先要判断值是否为空以及该值是否属于字典中的值:
@if (!string.IsNullOrEmpty(value) && dicBsC.ContainsKey(value)) { <span>@dicBsC[value]</span> } else { <span></span> }