概述:Dictionary类和List类都是抽象类
1. dictionary类
- 定义:用来存储键/值对
Dictionary<string,string> dic=new Dictionary<string,string>;
- 属性:
// 在JS中,Dictionary类没有length属性,获取dictionary的length
var array=[];
array.push(dictionary);
var length=array.length;
// 获取对应的键值:
for (var key in dic) {
var item = dic[key];
}
- 方法:
//add
dictionary.add(key,value);
dictionary[key]=value;
//delete
dictionary.remove(key);
- 实例:
js dictionary字典 遍历 (Array是dictionary类一种特例,但是在js中,只有array类有length属性)
var dic={A:"AA",B:"BB",C:"CC"} //不能length去for循环(length:undefined)
dic["D"]="DD"; //新增键值对
var tmp=dic["D"]; //通过key获取值
for (var key in dic) {
var item = dic[key];
console.log(item); //AA,BB,CC,DD
}
C#中dictionary类的遍历
foreach (KeyValuePair<string, string> item in dic)
{}
2. List类
- 定义:
- 属性:
- 方法:
- 实例:
3. 综合实例
//返回dictionary<string,dic<string,List<ReportL>>>
var url = "Ashx/GetHistory.ashx?type=GetFinalReport";
$.ajax({
cache: false,
type: 'Post',
url: url,
async: false,
dataType: 'json', //表示返回的data是一个json对象
success: function (data) {
$.each(data, function (key, value) {
for (var key1 in data) {
var linecount = 0;
var stationArray = data[key1];
for (var key2 in stationArray) {
var machineArray = stationArray[key2];
linecount += machineArray.length;
}
option += "<td rowspan=\"" + linecount + "\">" + key1 + "</td>"; //line count
for (var key2 in stationArray) {
var machineArray = stationArray[key2];
option += "<td rowspan=\"" + machineArray.length + "\">" + key2 + "</td>"; //station count
for (var i = 0; i < machineArray.length; i++) {
option += "<td>" + machineArray.machine + "</td>";
option += "<td>" + machineArray.kgb + "</td>";
option += "<td>" + machineArray.kfb + "</td>";
option += "<td>" + machineArray.starttime + "</td></tr>";
option += "<tr>";
}
}
}
});
$("#reporttr").html("");
$("#reporttr").html(option);
}
});