一、dynamic
一、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的更多相关文章
- var和dynamic的区别
1.var 1.均是声明动态类型的变量. 2.在编译阶段已经确定类型,在初始化的时候必须提供初始化的值. 3.无法作为方法参数类型,也无法作为返回值类型. 2.dynamic 1.均是声明动态类型的变 ...
- 遍历dynamic的方式
一.遍历ExpandoObject /// <summary> /// 遍历ExpandoObject /// </summary> [TestMethod] public v ...
- C# dynamic 动态创建 json
1. 如何通过C# 的dynamic 创建如下json 对象? { "query": { "match": [{ "name": " ...
- BZOJ 1901: Zju2112 Dynamic Rankings[带修改的主席树]【学习笔记】
1901: Zju2112 Dynamic Rankings Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 7143 Solved: 2968[Su ...
- 当类型为dynamic的视图模型遭遇匿名对象
当年在ASP.NET MVC 1.0时代我提到,在开发时最好将视图的Model定制为强类型的,这样可以充分利用静态检查功能进行排错.不过有人指出,这么做虽然易于静态检查,但是定义强类型的Model类型 ...
- 动态规划 Dynamic Programming
March 26, 2013 作者:Hawstein 出处:http://hawstein.com/posts/dp-novice-to-advanced.html 声明:本文采用以下协议进行授权: ...
- 理解C# 4 dynamic(4) – 让人惊艳的Clay
Clay非常类似于ExpandoObject, 可以看做是ExpandoObject的加强版. 它们能够让我们在不需要定义类的情况下,就构建出我们想要的对象.Clay和ExpandoObject相比, ...
- [原创] C# dynamic拼接Json串
using Newtonsoft.Json; 之前拼接两个json串,是用的这样的代码 , json1.Length - ); json2 = json2.Insert(json2 - , tmp); ...
- dynamic 用法
private static string GetNameValue(object value) { dynamic obj = value; try { return obj.Name; } cat ...
- Euler Tour Tree与dynamic connectivity
Euler Tour Tree最大的优点就是可以方便的维护子树信息,这点LCT是做不到的.为什么要维护子树信息呢..?我们可以用来做fully dynamic connectivity(online) ...
随机推荐
- python数据库操作-mysql数据库
一:连接 1:本地连接 mysql -u用户名 -p密码 2:连接远程服务器 mysql -u用户名 -p密码 -hip地址 -P端口号 线下修改远程服务端上部署的mysql服务器 二:创建数 ...
- 15:解决IntelliJ IDEA的乱码问题
1. -Dfile-encodings=UTF-8 ,全局:
- JS中的Date对象
1.构造函数 Date 对象可以通过构造函数来生成,Date 的构造函数可以放入四种不同的参数 1.1.new Date() ,返回此时的本地日期时间的date对象 let d = new Date( ...
- sublime text 3 Package Control无法下载插件
Package Control无法下载插件,发现是因为被墙了. ubuntu18.04 下使用privoxy设置全局参见:https://www.cnblogs.com/linjunfu/p/1101 ...
- Android逆向之旅---基于对so中的函数加密技术实现so加固
一.前言 今天我们继续来介绍so加固方式,在前面一篇文章中我们介绍了对so中指定的段(section)进行加密来实现对so加固 http://blog.csdn.net/jiangwei0910410 ...
- ResquestInfoServlet类通过访问HttpServletRequest对象的各种方法来读取HTTP请求中的特定信息,并且把它们写入到HTML中
ResquestInfoServlet类通过访问HttpServletRequest对象的各种方法来读取HTTP请求中的特定信息,并且把它们写入到HTML中 ResquestInfoServlet.j ...
- mypwd实现
实现mypwd 要求 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 步骤 查看pwd的作用man -k pwd ...
- ctcss
CTCSS解码器基于非常窄的带通滤波器,其通过所需的CTCSS音调.滤波器的输出经过放大和整流,只要存在所需的音调,就会产生直流电压.直流电压用于打开,启用或取消静音接收器的扬声器音频级.当音调存在时 ...
- 软件-Jenkins:Jenkins 百科
ylbtech-软件-Jenkins:Jenkins 百科 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续 ...
- 理解CSS中position的各个值
static position的默认值,没有定位,元素在normal flow中: fixed 相对于浏览器左上角定位: relative 相对定位元素,其位置根据其在normal flow中的位置来 ...