一、dynamic使用:

从一直使用动态类型写接口 返回动态类型出现情况

1、返回接口每次不知道包含那些列(实体类解决)

2、操作的数据类型 不可知(参与数值计算-实体类解决明确类型)

Dynamic 真不适合解决

        static void Main(string[] args)
{
string a = "{\"CaseId\":\"dae908a9-e28d-4e3e-be78-fa8c7ce1afaa\",\"DivisionId\":\"310112114\",\"Address\":\"\",\"UnitPrice\":\"0\",\"TotalPrice\":\"0\",\"QueryDate\":\"2019/7/9 8:59:39\",\"AvgUnitPrice\":\"0\",\"AvgPrice\":\"0\",\"MaxPrice\":\"0\",\"MinPrice\":\"0\",\"MangerPrice\":\"0\",\"Liveness\":\"1\",\"TotalCellNumber\":\"0\",\"QueryCount\":\"0\",\"ReturnCode\":\"-1\",\"Remark\":\"楼盘不可估\",\"EndDate\":\"2019/01/01 0:00:00\",\"ConstructionName\":\"\",\"ConstructionAlias\":\"\",\"BuildingName\":\"\",\"HouseName\":\"\",\"PropertyType\":\"\",\"QuotationCount\":\"0\"}";
string b = "{\"CaseId\":\"b1a9f1ea-686c-4c95-9bc8-a23737ac715c\",\"DivisionId\":\"310109014\",\"Address\":\"虹口区临平北路60弄\",\"UnitPrice\":\"55676\",\"TotalPrice\":\"7259594\",\"QueryDate\":\"2019/7/9 10:37:52\",\"AvgUnitPrice\":\"55676\",\"AvgPrice\":\"55676\",\"MaxPrice\":\"62914\",\"MinPrice\":\"46891\",\"MangerPrice\":\"0.9\",\"Liveness\":\"3\",\"TotalCellNumber\":\"631\",\"QueryCount\":\"0\",\"ReturnCode\":\"1\",\"Remark\":\"估价成功\",\"EndDate\":\"1997/01/01 0:00:00\",\"ConstructionName\":\"临平北路60弄\",\"ConstructionAlias\":\"银欣花苑\",\"BuildingName\":\"\",\"HouseName\":\"\",\"PropertyType\":\"\",\"QuotationCount\":\"34\"}";
dynamic aa = JsonConvert.DeserializeObject(a);
dynamic bb = JsonConvert.DeserializeObject(b);
var s = aa.GetType().Name;//JObject
//当值是'0' 输出 UnitPrice:'0' 与UnitPrice:0 区别 得出结果: 没有区别 输出都是{0}Value对象 判断0无区分
if (aa["UnitPrice"] != )
{
Console.Write("不等于0");///判断是否输出值
}
else
{
Console.Write("等于0");
}
if (bb["UnitPrice"] != )
{
Console.Write("不等于0");///判断是否输出值
}
else
{
Console.Write("等于0");
} } }

一、dynamic的更多相关文章

  1. var和dynamic的区别

    1.var 1.均是声明动态类型的变量. 2.在编译阶段已经确定类型,在初始化的时候必须提供初始化的值. 3.无法作为方法参数类型,也无法作为返回值类型. 2.dynamic 1.均是声明动态类型的变 ...

  2. 遍历dynamic的方式

    一.遍历ExpandoObject /// <summary> /// 遍历ExpandoObject /// </summary> [TestMethod] public v ...

  3. C# dynamic 动态创建 json

    1. 如何通过C# 的dynamic 创建如下json 对象? { "query": { "match": [{ "name": " ...

  4. BZOJ 1901: Zju2112 Dynamic Rankings[带修改的主席树]【学习笔记】

    1901: Zju2112 Dynamic Rankings Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 7143  Solved: 2968[Su ...

  5. 当类型为dynamic的视图模型遭遇匿名对象

    当年在ASP.NET MVC 1.0时代我提到,在开发时最好将视图的Model定制为强类型的,这样可以充分利用静态检查功能进行排错.不过有人指出,这么做虽然易于静态检查,但是定义强类型的Model类型 ...

  6. 动态规划 Dynamic Programming

    March 26, 2013 作者:Hawstein 出处:http://hawstein.com/posts/dp-novice-to-advanced.html 声明:本文采用以下协议进行授权: ...

  7. 理解C# 4 dynamic(4) – 让人惊艳的Clay

    Clay非常类似于ExpandoObject, 可以看做是ExpandoObject的加强版. 它们能够让我们在不需要定义类的情况下,就构建出我们想要的对象.Clay和ExpandoObject相比, ...

  8. [原创] C# dynamic拼接Json串

    using Newtonsoft.Json; 之前拼接两个json串,是用的这样的代码 , json1.Length - ); json2 = json2.Insert(json2 - , tmp); ...

  9. dynamic 用法

    private static string GetNameValue(object value) { dynamic obj = value; try { return obj.Name; } cat ...

  10. Euler Tour Tree与dynamic connectivity

    Euler Tour Tree最大的优点就是可以方便的维护子树信息,这点LCT是做不到的.为什么要维护子树信息呢..?我们可以用来做fully dynamic connectivity(online) ...

随机推荐

  1. ht-4 hashmap特性

    一.hashmap底层原理: hashmap调用默认构造方法会产生一个默认底层是长度为16的Entry数组,首先调用key的hasCode()方法来得到一个整数, int hash = hash(ke ...

  2. Cluster基础(三):配置HAProxy负载平衡集群、Keepalived高可用服务器、Keepalived+LVS服务器

    一.配置HAProxy负载平衡集群 目标: 准备三台Linux服务器,两台做Web服务器,一台安装HAProxy,实现如下功能: 客户端访问HAProxy,HAProxy分发请求到后端Real Ser ...

  3. django正常运行确报错的解决方法

    django正常运行却报错的处理方法 出处 : https://www.infvie.com/ops-notes/django-normal-operation-error 报错一:self._soc ...

  4. jsqlparser

    摘要:SQL语法解释器jsqlparser 是用java开发的解析器,可以生成java类层次结构. 主页地址:http://jsqlparser.sourceforge.net 可以完美解析表的增删查 ...

  5. Java 封装 继承 多态

    Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法 ...

  6. JS实现多Div模块拖拽功能

    空闲时间,同事让帮忙整个JS拖拽div模块功能.于是便在网上搜索,总结如下一个可实现多div模块拖拽的功能.一下是整体的HTML代码, 里边可以控制到 拖拽开始(onStart),拖拽时候(onMov ...

  7. P哥的桶(线段树+线性基)

    https://www.luogu.org/problem/P4839 题目: 有两个操作 1 a b  在a的位置添加b数值  (注意一个位置可以有多个值) 2 a b : 在 a到b的范围任取任意 ...

  8. ubuntu 16.4下hadoop配置伪分布式时出现的坑

    在ubuntu16.4下spark的单机/伪分布式配置我在此就不在一一赘述,详情请点击如下连接: Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 我出现问题是 ...

  9. JAVA一切皆对象之包装类、自动装箱、自动拆箱

    首先封装一个基本数据类型int, class P{ private int number; //封装一个私有的->基本数据类型 public P(){} public P(int number) ...

  10. 16/7/14-MySQL-修改mysql5.6以上版本root密码

    版本更新,原来user里的password字段已经变更为authentication_string 版本更新 缘故,好多网上的教程都不适用了,甚至连官网的文档也不是能够顺利操作的. 如果 MySQL ...