怎么把一个object 型转成 键值对呢? 如 我要做个统一的插入 Add(object obj) ....
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把一个object 型转成 键值对呢? 如 我要做个统一的插入 Add(object obj) ....相关的知识,希望对你有一定的参考价值。
参考技术A 在.Net framework中,object类型是所有类型的基类(interface除外),也就是说除了interface以外,所有的类型都派生自object类型。你具体的意思我不明白,是把object类型转成键值对,还是键值对的集合?
单独的键值对的数据结构有:
DictionaryEntry(可以用来遍历Hashtable)
KeyValuePair<T,T>(可以用来遍历Dictionary<T,T>)
键值对集合的数据结构主要是:Hashtable和Dictionary<T,T>
它们都可以隐式转换为object类型,例如:object o = new Hashtable();
也可以显示的转换成原有类型,例如:Hashtable ht = o as Hashtable;追问
是这样的 。我想做一个统一的 插入方法 传入的 一个OBJECT
如: A a=new A(); a.id=1; a.name="2"; B b=new B(); b.bid=1; b.sname="2";
Add(object obj)
string sql="insert into "+obj.GetType().Name ;
...... 这里如何 读出 obj的属性名称 和 值呢
如何把一个大的对象,转成若干个小对象,然后在放到数组中
我用了两种方法来解决它,一种较为复杂不提倡,一种较为简单
1.复杂的(不提倡)
var obj = {A:1,B:2,C:3} var Barr = Object.entries(obj) //对象自身可枚举属性的键值对数组 var arr = [] for (var i = 0; i < Barr.length; i++) { var obj = {} obj.num = i+1 obj.title = Barr[i][0] obj.con = Barr[i][1] arr.push(obj) } console.log(arr) //[ {num: 1, title: "A", con: 1},{num: 2, title: "B", con: 2},{num: 3, title: "C", con: 3}]
2.简单方法(for ... in 遍历对象)
var obj = { A: 1, B: 2, C: 3 } var arr = []; //创建一个数组 for (var key in obj) { var temp = {}; //创建临时对象 temp.name = key; //存储对象的Key为name temp.value = obj[key]; //存储value arr.push(temp); } console.log(arr) //[ {num: 1, title: "A", con: 1},{num: 2, title: "B", con: 2},{num: 3, title: "C", con: 3}]
以上是关于怎么把一个object 型转成 键值对呢? 如 我要做个统一的插入 Add(object obj) ....的主要内容,如果未能解决你的问题,请参考以下文章