dynamic、object、var 之间的区别

dynamic .net 4.0  动态类型

 

ExpandoObject 应用

 

            dynamic Customer = new ExpandoObject();            Customer.Name = "Name001";            Customer.Age = 12;             Console.WriteLine(Customer.Name + Customer.Age);       

 

可实现不同类型之间的连接  

       static T Add<T>(T t1, T t2)

{            dynamic d1 = t1;            dynamic d2 = t2;

return (T)(d1 + d2);        }

 object  在和INT相加减时需要转换类型(int)obj,而后面得新赋值不同类型是没有问题的

            object obj = 123;int kl = 1 + (int)obj;            obj = "df"; 

 

 var 在INT相加减时需要转换,但一开始赋值时也相应赋值类型,后面不能再赋值其它类型

            var vr = 123;            kl = vr + 1; 

 dynamic  具有上面两都共同和不同不部分,即可以相加减也可以赋值不同类型

             dynamic dyn = 123;             kl = dyn + 1;             dyn = "adsf";

 

 

时间: 2024-11-01 07:02:49

dynamic、object、var 之间的区别的相关文章

C#常用算法:Dynamic Object

Dynamic Object包含在.Net4.0中,该对象可以允许我们在运行时中改变它的类型,有了这种万金油还有什么问题是我们不能解决的呢?我们来看看它的几个使用例子吧: Var类型和Dynamic类型 public static void TestDynamicObject() { //var object and dynamic object var varObj = "this is a var object"; dynamic dyObj = "this is a d

理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用

原文:理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用 阅读目录: 一. 为什么是它们三个 二. 能够任意赋值的原因 三. dynamic的用法 四. 使用dynamic的注意事项 一. 为什么是它们三个? 拿这三者比较的原因是它们在使用的时候非常相似.你可以用它们声明的变量赋任何类型的值. 看看下面的示例: var a = 1; object b = 1; dynamic c = 1;  你还可以使用关键字为它们赋上更加复杂的类型

JS在IE和Firefox之间的区别

JS代码在IE和Firefox之间的区别,16个,非常实用. 1.    HTML 对象的 id 作为对象名的问题 IE:HTML 对象的 ID 可以作为 document 的下属对象变量名直接使用 FF:不支持 解决方法:使用document.getElementById替代document.all 2.       如果控件只有name,没有id, 用getElementById时: IE:可以找到对象 FF:返回NULL 解决方法:所有控件必须设置ID属性 3.       Evel: I

总结JavaScript三种数据存储方式之间的区别_基础知识

sessionStorage .localStorage 和 cookie 之间的共同点:都是保存在浏览器端,且同源的. sessionStorage .localStorage 和 cookie 之间的区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递.而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存.cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下. 存储大

c#-二个线程之间的区别,C#

问题描述 二个线程之间的区别,C# string ticket_list = "1,2,3,11,12"; string[] sArray = ticket_list.Split(','); if (sArray.Length > 0) { foreach (var i in sArray) { task = new Task(() => { Task a = Task.Run(() => { MyMethod(int.Parse(i)); }); }); } tas

iOS的UIColor类与其相关类之间的区别及判断相等的方法_IOS

UIColor,CGColor,CIColor三者的区别和联系   最近看了看CoreGraphics的东西,看到关于CGColor的东西,于是就想着顺便看看UIColor,CIColor,弄清楚它们之间的区别和联系.下面我们分别看看它们三个的概念:   一.UIColor   UIColor是UIKit中存储颜色信息的一个重要的类,一个UIColor对象包含了颜色和透明度的值,它的颜色空间已经针对IOS进行了优化.UIColor包含了一些类方法用于创建一些最常见的颜色,如白色,黑色,红色,透明

ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间的区别_自学过程

ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间的区别      主要有这么几种,cmd.ExecuteReader();cmd.ExecuteNonQuery();cmd.ExecuteScalar();cmd.ExecuteXmlReader();) 1,ExecuteReader();返回一个SqlDataReader对象或OleDbDataReader对象,这个看你的程序的需要去 做.可以通过这个

Spark源码分析:多种部署方式之间的区别与联系(1)

<http://www.aliyun.com/zixun/aggregation/13383.html">Spark源码分析:多种部署方式之间的区别与联系(1)> <Spark源码分析:多种部署方式之间的区别与联系(2)> 从官方的文档我们可以知道,Spark的部署方式有很多种:local.Standalone.Mesos.YARN-..不同部署方式的后台处理进程是不一样的,但是如果我们从代码的角度来看,其实流程都差不多. 从代码中,我们可以得知其实Spark的部署

SEO优化人员是否知道标签与栏目、专题、关键词之间的区别

摘要: 相比网站的关键词我们对文章标签的关注实在太少,不知道作为SEO优化人员的你是否知道标签与栏目.专题.关键词之间的区别?也许你会认为这是无关紧要的事情,如果是这样的话只能 相比网站的关键词我们对文章标签的关注实在太少,不知道作为SEO优化人员的你是否知道标签与栏目.专题.关键词之间的区别?也许你会认为这是无关紧要的事情,如果是这样的话只能说你是一个不善于思考问题的人,永远成不一个真正的SEO,因为SEO本身就是一个需要注重细节的职业.笔者发现现在几乎所有的文章都支持添加标签的功能,为什么一