主要是实现将类里面 的属性和对应的值转换为字典的键和值。

public class RDfsedfw
{
/// <summary>
/// 将匿名类转换为字典
/// </summary>
/// <returns></returns>
public Dictionary<string,object> ClassToDic()
{
var data = new
{
action = "GetProperties",
ip ="192.168.1.150",
encryp = ,
date = DateTime.Now,
model = "cash",
sn = "",
vs=""
};
var d = data.GetType().GetProperties()//这一步获取匿名类的公共属性,返回一个数组
.OrderBy(q => q.Name)//这一步排序,需要引入System.Linq,当然可以省略
.Where(q => q.Name!="vs")//这一步筛选,也可以省略
.ToDictionary(q => q.Name, q => q.GetValue(data));//这一步将数组转换为字典
return d;
}
public Dictionary<string,object> ClassToDic1()
{
DataModel dm1 = new DataModel()
{
Str = "abc123",
Date = DateTime.Now,
Chensf = ,
Dic = new Dictionary<string, string>() { { "ID", "" }, { "name", "mike" } },
Gname = "fffffs"//这个字段由于不是属性,是不能被GetProperties转换为数组元素的
};
var d = dm1.GetType().GetProperties()
.ToDictionary(q=>q.Name,q=>q.GetValue(dm1));
return d;
}
}
public class DataModel
{
public string Str { set; get; }
public DateTime Date { set; get; }
public int Chensf { set; get; }
public Dictionary<string ,string> Dic { set; get; } public string Gname;
}

C#将类对象转换为字典的更多相关文章

  1. python-类对象以字典模式操作

    #类对象以字典模式操作 class Person: def __init__(self): self.cache={} def __setitem__(self, key, value): #增加或修 ...

  2. python]用eval强制将字符串转换为字典变量时候出错:NameError: name 'null' is not defined[python]用eval函数 字符串转dict

    本博客已搬家至个人网站 在路上 - On the way 下面的 技术 分类. 你可以通过点击 更新帖子 [已解决]Python中,用eval强制将字符串转换为字典变量时候出错:NameError: ...

  3. 福利->KVC+Runtime获取类/对象的属性/成员变量/方法/协议并实现字典转模型

    我们知道,KVC+Runtime可以做非常多的事情.有了这个,我们可以实现很多的效果. 这里来个福利,利用KVC+Runtime获取类/对象的所有成员变量.属性.方法及协议: 并利用它来实现字典转模型 ...

  4. [转载]python中将普通对象作为 字典类(dict) 使用

    目前我知道的有两种方法: 1 定义的类继承dict类 例如 class A(dict): pass a = A() a['name'] = 12 2 给自定义的类添加 __setitem__() __ ...

  5. 将实体类、匿名对象转换为SqlParameter列表

    /// <summary> /// <remarks> /// <para>将实体类/匿名对象转换为SqlParameter列表</para> /// ...

  6. 利用JSON将Map转换为类对象

    Map类型做为一种常见的Java类型,经常在开发过程中使用,笔者最近遇到要将Map对象做为一种通用的参数变量,下传到多个业务类方法中,然后在各个业务类方法中将Map转换为指定类对象的情况.如何将Map ...

  7. RestTemplate将响应数据转换为具有泛型的类对象

    前言: 重要,RestTemplate在SpringBoot项目里即便通过HttpMessageConverters添加了Fastjson且优先级比jackson要高也不会在RestTemplate里 ...

  8. 微信开发,对象转换为xml时候引用XStream这个类报错处理方案

    报错的信息为:The type org.xmlpull.v1.XmlPullParser cannot be resolved. /**  * 扩展XStream 支持CDATA  */ privat ...

  9. 什么是“类数组对象”,在jquer中怎样将类数组对象转换为数组对象

    类数组对象的定义: 所谓"类数组对象"就是一个常规的Object对象,如$("div")但它和数组对象非常相似:具备length属性, 并以0.1.2.3……等 ...

随机推荐

  1. 【周期性执行事件】MySQL事件(Event)&任务调度

    1.事件简介 事件(event)是MySQL在相应的时刻调用的过程式数据库对象.一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”. 事件和触发器类似,都是在 ...

  2. Linux下汇编语言学习笔记6 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  3. SQL SERVER 2012 第三章 T-SQL 基本SELECT语句用法,Where子句详细用法

    select [all|distinct] [top (<expression>) [Percent] [with ties]] <column list> [from < ...

  4. POJ 3041_Asteroids

    题意: N*N网格中有小行星,光束能将一整行或者一整列的行星消灭,问消灭所有行星至少需要多少光束? 分析: 最小顶点覆盖问题,将每个小行星看成边,左右顶点为横纵坐标,可以转化为二分图,利用二分图中最小 ...

  5. jquery校验框架

    http://www.validform.club/ http://craftpip.github.io/jquery-confirm/

  6. 功能超级强大的网络工具nc

    摘自:http://www.linuxso.com/command/nc.html 功能说明:功能强大的网络工具语 法:nc [-hlnruz][-g<网关...>][-G<指向器数 ...

  7. IPv6 Ready Logo测试环境搭建

    最新的IPv6 Ready Logo tool http://interop.ipv6.org.tw/CERouter/ 安装最新的tool,要求FreeBSD在8.0以上 uname  -r查看版本 ...

  8. UG如何把语言改成中文,UG如何把界面语言改成中文

    1 高级系统设置,高级,新建一个用户变量(变量名为lang,变量值为chs)   2 高级系统设置,高级,环境变量,系统变量中,查看变量名为UGII_LANG的值是否为simpl_chinese,如果 ...

  9. c++命令提示符窗体下打印指定大小的菱形代码

    c++命令提示符窗体下打印指定大小的菱形代码 VS2010下,新建空项目.加入源文件,将代码粘贴进去就能够了. 通过改maxRows值的大小,能够控制菱形的大小 #include <stdio. ...

  10. StringBuffer疑问

    为何结果为AB.B? public static void main(String[] args) { StringBuffer a=new StringBuffer("A"); ...