关于Dictionary类、List类的学习与应用

版权声明:@今年依旧12岁 https://blog.csdn.net/qq_34087199/article/details/88573757

概述: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类

  1. 定义:
  2. 属性:
  3. 方法:
  4. 实例:

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);
    }
});

猜你喜欢

转载自blog.csdn.net/qq_34087199/article/details/88573757