怎么把一个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的属性名称 和 值呢

参考技术B 自定义一个键值对象,比如public class keyobject()private object a;private ArrayList al = new ArrayList();//构造函数a;//构造函数al ;public void init(),然后每次new的keyobject对象就可以当做一个键值对象来使用!

如何把一个大的对象,转成若干个小对象,然后在放到数组中

我用了两种方法来解决它,一种较为复杂不提倡,一种较为简单

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) ....的主要内容,如果未能解决你的问题,请参考以下文章

C语言中怎么把Int型转成字符型?

java中如何把hashmap转换成object数组

java list转成map问题 map可转成键值对形式

android怎么把json转换为hashmap

如何把JS对象转成数组

Oracle怎样把varchar2型转成number型