一、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. python数据库操作-mysql数据库

    一:连接 1:本地连接 mysql -u用户名 -p密码 2:连接远程服务器 mysql -u用户名 -p密码 -hip地址 -P端口号     线下修改远程服务端上部署的mysql服务器 二:创建数 ...

  2. 15:解决IntelliJ IDEA的乱码问题

    1. -Dfile-encodings=UTF-8 ,全局:

  3. JS中的Date对象

    1.构造函数 Date 对象可以通过构造函数来生成,Date 的构造函数可以放入四种不同的参数 1.1.new Date() ,返回此时的本地日期时间的date对象 let d = new Date( ...

  4. sublime text 3 Package Control无法下载插件

    Package Control无法下载插件,发现是因为被墙了. ubuntu18.04 下使用privoxy设置全局参见:https://www.cnblogs.com/linjunfu/p/1101 ...

  5. Android逆向之旅---基于对so中的函数加密技术实现so加固

    一.前言 今天我们继续来介绍so加固方式,在前面一篇文章中我们介绍了对so中指定的段(section)进行加密来实现对so加固 http://blog.csdn.net/jiangwei0910410 ...

  6. ResquestInfoServlet类通过访问HttpServletRequest对象的各种方法来读取HTTP请求中的特定信息,并且把它们写入到HTML中

    ResquestInfoServlet类通过访问HttpServletRequest对象的各种方法来读取HTTP请求中的特定信息,并且把它们写入到HTML中 ResquestInfoServlet.j ...

  7. mypwd实现

    实现mypwd 要求 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 步骤 查看pwd的作用man -k pwd ...

  8. ctcss

    CTCSS解码器基于非常窄的带通滤波器,其通过所需的CTCSS音调.滤波器的输出经过放大和整流,只要存在所需的音调,就会产生直流电压.直流电压用于打开,启用或取消静音接收器的扬声器音频级.当音调存在时 ...

  9. 软件-Jenkins:Jenkins 百科

    ylbtech-软件-Jenkins:Jenkins 百科 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续 ...

  10. 理解CSS中position的各个值

    static position的默认值,没有定位,元素在normal flow中: fixed 相对于浏览器左上角定位: relative 相对定位元素,其位置根据其在normal flow中的位置来 ...