一、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. spring boot 参数传递(spring boot 参数传数 arg0 每一个参数 arg0#{arg0},arg1 #{arg1})

    spring boot 参数传数 arg0 每一个参数 arg0#{arg0},arg1  #{arg1} @Select("select * from sys_user where nam ...

  2. 流氓软件修改IE主页的解决方法

    运行regedit HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main 修改以下url Default_Page_URL Firs ...

  3. UE4开发PSVR游戏的常见问题

    Failed to connect to file server at xxx.xxx.xxx.xxx. RETRYING in 5s解决办法:PS4 Devkit 中 Settings->De ...

  4. [CSP-S模拟测试]:走格子(模拟+BFS+Dijkstra)

    题目描述 $CYJ$想找到他的小伙伴$FPJ$,$CYJ$和$FPJ$现在位于一个房间里,这个房间的布置可以看成一个$N$行$M$列的矩阵,矩阵内的每一个元素会是下列情况中的一种:$1.$障碍区域—这 ...

  5. ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist

    MySQL版本:mysql5.7.21 修改用户权限,刷新权限表,报1146 mysql> flush privileges; ERROR 1146 (42S02): Table 'mysql. ...

  6. 制作自己的win7系统

    每次安装完纯净版的系统,然后是漫长的打补丁,装驱动,装软件.不妨制作一个自己的系统光盘(也就是GHOST系统),再要重装系统时,直接用这个系统光盘,一键安装,方便省时. 制作GHOST系统,就是将本地 ...

  7. (转载) linux下文件权限设置中的数字表示

    chmod ABC file 其中A.B.C各为一个数字,分别表示User.Group.及Other的权限. A.B.C这三个数字如果各自转换成由“0”.“1”组成的二进制数,则二进制数的每一位分别代 ...

  8. FastReport使用教程

    FastReport使用心得 一.准备 1.这次开发使用的是FastReport桌面版(FastReport.Net Version 201731.16 Demo) 2.引用类库FastReport. ...

  9. python之----------字符编码的原理

    1.内存和硬盘都是用来存储的. CPU:速度快 硬盘:永久保存 2.文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就可以启动一个进程,是在内存中的,所以在编辑器编 ...

  10. JavaScript Tre

    function BinarySearchTree() { var Node = function(key) { this.key = key; this.left = null; this.righ ...