![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#语法
文章平均质量分 60
子庚
加油
展开
-
托管代码是什么
C#中的托管代码是什么分析:托管代码(Managed Code)实际上就是中间语言(IL)代码。代码编写完毕后进行编译,此时编译器把代码编译成中间语言(IL),而不是能直接在你的电脑上运行的机器码。程序集(Assembly)的文件负责封装中间语言,程序集中包含了描述所创建的方法、类以及属性的所有元数据。托管代码在公共语言运行库(CLR)中运行。这个运行库给运行代码提供了原创 2013-03-15 13:43:07 · 1204 阅读 · 0 评论 -
将C# lambda表达式转换成表达式树
就像我们已经看到的, lambda表达式可以隐式或显式的被转换为适当的委托实例. 然而, 这并非唯一可用的转换规则, 你也可以让编译器帮你从一个lambda表达式来构建表达式树, 然后在执行时创建一个Expression实例. 例如, 下面的例子使用了更简短的方式创建”return 5″的表达式, 然后编译并执行结果委托: 1: Expressionint>> return5 =转载 2013-07-05 22:31:35 · 8552 阅读 · 0 评论 -
lambda表达式
Lambda表达式实际上是一个匿名函数。它包含表达式和语句,常用于创建委托或表达式目录树类型。所有Lambda表达式都是用Lambda运算符---------- =>,该运算符读为“goesto”。Lambda运算符的左边是输入参数(可能没有),右边是表达式或语句块。Lambda表达式返回右边表达式的结果。其基本格式如下:(input paramenters)=>expression其中转载 2013-07-05 22:34:54 · 694 阅读 · 0 评论 -
Action<T>和Func<T>的区别.
一。【action1.1定义一个委托:比如,我们原来写委托:public delegate void myDelegate(string str); 这个委托表示,它只能委托那些只有一个输入值而没有返回值的方法,比如下面的这个方法。1.2定义方法public static void HellowChinese(string strChinese) {转载 2013-07-05 23:11:16 · 2940 阅读 · 0 评论 -
Predicate委托
Predicate泛型委托:表示定义一组条件并确定指定对象是否符合这些条件的方法。此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素。类型参数介绍: T: 要比较的对象的类型。 obj: 要按照由此委托表示的方法中定义的条件进行比较的对象。 返回值:如果 obj 符合由此委托表示的方法中定义的条件,则为 true;否则为f转载 2013-07-05 23:13:09 · 858 阅读 · 0 评论 -
Json.Net学习.集合序列化.
Json序列化器为序列化及反序列化集合对象提供了良好的支持.->Serializing 为了序列化一个集合---一个泛型的list,array,dictionary,或者自定义集合---简单地调用序列化器,使用您想要进行序列化的集合对象作为参数,Json.Net会序列化集合以及所有它包含的值。示例:public class Product {转载 2013-07-22 22:32:48 · 1163 阅读 · 0 评论 -
internal(C# 参考)
internal(C# 参考)Visual Studio 2012 其他版本 Visual Studio 2010 Visual Studio 2008 Visual Studio 2005转载 2013-07-22 22:46:17 · 872 阅读 · 0 评论 -
Json.Net学习(1) 实现简单的序列化和反序列化
Attributes 可以用来控制Json.Net如何序列化和反序列化.Net对象。>JsonObjectAttribute--标记在类上,用于控制该类如何被序列化为一个Json对象(JSON Object)>JsonArrayAttribute--标记在集合上,用于控制该集合如何被序列化为一个Json集合(JSON Array)>JsonPropertyAttribute--标记在字原创 2013-07-22 22:00:32 · 1821 阅读 · 0 评论 -
Json.Net学习 异常处理
Json.Net支持在序列化和反序列化的过程中进行异常处理。异常处理让您捕获一个异常,您可以选择是否处理它,继续序列化或者让异常抛给上一层,在你的应用程序中被抛出。异常处理通过两个方法来定义:theError event on JsonSerializer 和 OnErrorAttribute>Error Eventerror event是一个建立在JsonSerializer 上的异转载 2013-07-23 23:10:38 · 1290 阅读 · 0 评论 -
ICommand接口详解
命令第一个用途是将语义以及调用命令的对象与执行命令的逻辑分离开来。WPF 命令中的四个主要概念: WPF 中的路由命令模型可以分为四个主要概念:命令、命令源、命令目标以及命令绑定: 命令是要执行的操作。 命令源是调用命令的对象。 命令目标是在其上执行命令的对象。 命令绑定是将命令逻辑映射到命令的对象。 WPF 中的命令是通过实现 ICommand 接口创建的转载 2013-07-20 04:34:04 · 5878 阅读 · 0 评论 -
IEqualityComparer<T> VS System.IEquatable<T>
类似于IComparer VS IComparable.public interface IComparableT>{ // Methods int CompareTo(T other);}public interface IComparerT>{ // Methods int Compare(T x,转载 2013-07-19 10:13:53 · 894 阅读 · 0 评论 -
Lambda Expressions (基础概念非常全)
C# Lambda Expressions是我们在开发过程中使用在数据删除操作时用到的,那么如果你是在学习LINQ to SQL的时候,那么建议你对C# Lambda Expressions还是要了解一下,以便操作的时候正确使用。AD: 2013云计算架构师峰会超低价抢票中 C# Lambda Expressions是什么呢?我们在处理数据库数据删除转载 2013-07-05 23:24:42 · 848 阅读 · 0 评论 -
C# 装箱和拆箱[整理]
1、 装箱和拆箱是一个抽象的概念 2、 装箱是将值类型转换为引用类型 ;拆箱是将引用类型转换为值类型 利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来 例如: int val = 100; object obj = val; Console.WriteLine (“对象的值转载 2013-07-09 17:34:37 · 919 阅读 · 0 评论 -
使用Enumerable.SequenceEqual<TSource> 方法 (IEnumerable<TSource>, IEnumerable<TSource>)判断两个集合是否相同
Enumerable.SequenceEqualTSource> 方法 (IEnumerableTSource>, IEnumerableTSource>) .NET Framework 4.5 其他版本 .NET Framewor原创 2013-07-14 21:09:42 · 4120 阅读 · 0 评论 -
C# [..]的解释
在c#中,“[...]”这个叫做Attribute,一般翻译为“特性”,而不是“属性”(因为“属性”已代表其他意思)特性是一个继承自System.Attribute类的类,其实特性和注释(即“/* ... */”)类似,是用于描述程序集、类型、成员的“备注信息”,和注释不同的是:注释是给“人”看的,而特性是给“编译器”看的,举例来说:[ServiceContract] 这个特性转载 2013-07-15 23:11:17 · 2425 阅读 · 0 评论 -
判断指定的对象实例是不是同一个实例
Object.ReferenceEquals// Summary: // Determines whether the specified object instances are the same instance. // // Parameters: // objA: // The原创 2013-07-16 13:27:42 · 1083 阅读 · 0 评论 -
在.net 编程环境中,系统的资源分为托管资源和非托管资源。
在.net 编程环境中,系统的资源分为托管资源和非托管资源。 对于托管的资源的回收工作,是不需要人工干预回收的,而且你也无法干预他们的回收,所能够做的只是了解.net CLR如何做这些操作。也就是说对于您的应用程序创建的大多数对象,可以依靠 .NET Framework 的垃圾回收器隐式地执行所有必要的内存管理任务。 对于非托管资源,您在应用程序中使用完这些非托管资源之转载 2013-07-15 23:22:47 · 771 阅读 · 0 评论 -
Attribute鲜为人知的两个特性记录
原文地址:点击打开链接Attribute作为一种标记在我们的.net中随处可见,比如DatContract,DatMember,Serializable等等,各种用途的标记。是的我们的代码更加简洁,对于Attribute用好了,可以很好的简化我们的开发,比如PostSharp的AOP实现就是一种基于Attribute的标记编译时注入。在随笔中有关于IOC,AOP利用Attribute标记简转载 2013-07-16 11:56:30 · 1121 阅读 · 0 评论 -
在Dictionary中使用枚举做键值
自从.NET Framework 2.0引入泛型之后,对集合的使用就开创了新的局面。首先我们不用考虑类型是否安全,利用泛型以及对泛型参数的约束完全可以保障这一点;其次,集合元素不会因为频繁的Boxing和Unboxing而影响集合遍历与操作的性能。泛型带来的这两点好处毋庸置疑。在Dictionary<TKey, TValue>中,除了字符串,我们普遍会使用值类型作为它的key,例如int类型。转载 2013-07-17 22:42:20 · 7724 阅读 · 0 评论 -
C# 日期转换
string s = "20100114";Response.Write(DateTime.ParseExact(s,"yyyyMMdd",new System.Globalization.CultureInfo("zh-CN",true)).ToString());return;C#日期转换到字符串DateTime dt = DateTime.Now;dt转载 2014-02-13 15:11:16 · 692 阅读 · 0 评论