C#中Obsolete

1224次阅读|228次收藏|371次赞

C#中Obsolete 属性将某个程序实体标记为一个建议不再使用的实体,每次使用被标记为Obsolete已过时的实体时,随后将生成警告或错误,这取决于属性是如何配置的。

C# this扩展方法

6683次阅读|346次收藏|100次赞

扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。 扩展方法当然不能破坏面向对象封装的概念,所以只能是访问所扩展类的public成员。

C#中ToDictionary,ToLookup

2263次阅读|352次收藏|20次赞

C#中ToDictionary用于将集合转换为Dictionary,C#中ToLookup操作符将创建一个Lookup<TKey, TElement>对象,这是一个one-to-many集合,一个Key可以对应多个Value。Lookup,不像Dictionary, 是不可改变的。这意味着一旦你创建一个lookup, 你不能添加或删除元素。

Array.ConvertAll数组间转换

1917次阅读|62次收藏|491次赞

Array.ConvertAll方法用于将一种类型的数组转换为另一种类型的数组。例如可以用Array.ConvertAll将“字符串型数组string[]”转换为“整型数组int[]”。

C#中List和数组之间的转换

2510次阅读|73次收藏|433次赞

在C#中数组,List都能够存储一组对象,数组的容量是固定的,您只能一次获取或设置一个元素的值,而List<T>的容量可根据需要自动扩充、修改、删除或插入数据。下面介绍C#中List转数组,C#中数组转List的方法

dataset用法

1607次阅读|186次收藏|206次赞

DataSet 是 ADO. NET结构的主要组件,它是从数据源中检索到的数据在内存中的缓存。也是各种开发基于.Net平台程序语言开发数据库应用程序最常接触的类。DataSet 由一组 DataTable 对象组成,您可使这些对象与 DataRelation 对象互相关联。

C#中yield

1294次阅读|92次收藏|229次赞

可以把C#中yield理解成一种特殊形式的return,它和return一样,会立即把执行权返回父级函数。特别之处在于,yield后面跟的函数或对象会跟一个条件判断,当条件满足时,就会再次回调包含该yield的子函数,并且从yield语句之后继续执行。
C#

C# volatile与lock

1655次阅读|288次收藏|314次赞

C#中volatile 关键字表示字段可能被多个并发执行线程修改,声明为volatile的字段可以确保该字段在任何时间呈现的都是最新的值。C#中lock关键字,可以把一段代码定义为互斥段,互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。

c# 协变和逆变

1487次阅读|243次收藏|253次赞

简单来讲,c#中所谓协变是指把类型从“小”升到“大”,比如从子类升级到父类;逆变则是指从“大”变到“小”,协变和逆变,使用“out”,和“in”两个关键字,主要关注点在泛型接口或委托。下面介绍c#中的协变和逆变

C#中SortedList的用法

2958次阅读|315次收藏|291次赞

C#中System.Collections.SortedList类表示键/值对的集合,这些键值对按键排序并可按照键和索引访问。SortedList 在内部维护两个数组以存储列表中的元素;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键/值对。键不能为null,但值可以。

C#中ICollection介绍

12426次阅读|474次收藏|364次赞

ICollection 接口是 System.Collections 命名空间中类的基接口,ICollection 接口扩展 IEnumerable,IDictionary 和 IList 则是扩展 ICollection 的更为专用的接口。如果 IDictionary 接口和 IList 接口都不能满足所需集合的要求,则从 ICollection 接口派生新集合类以提高灵活性。

C#中IDisposable

19372次阅读|438次收藏|391次赞

C#中IDisposable接口的主要用途是释放非托管资源。当不再使用托管对象时,垃圾回收器会自动释放分配给该对象的内存。但无法预测进行垃圾回收的时间。另外,垃圾回收器对窗口句柄或打开的文件和流等非托管资源一无所知。将此接口的Dispose方法与垃圾回收器一起使用来显式释放非托管资源。当不再需要对象时,对象的使用者可以调用此方法。

Forms.Timer、Timers.Timer、Threading.Timer的区别

1749次阅读|464次收藏|135次赞

在做WEB中定期执行的程序时,通常会用到定时器,.NET中有3个不同的定时器:Forms.Timer 、Threading.Timer 、Timers.Timer。这三个定时器位于不同的命名空间内,下面介绍他们之间的区别。

数组、ArrayList和List的区别

1888次阅读|213次收藏|439次赞

在C#中数组,ArrayList,List都能够存储一组对象。数组在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单;ArrayList对象的大小是按照其中存储的数据来动态扩充与收缩的。所以,在声明ArrayList对象时并不需要指定它的长度;在声明List集合时,我们同时需要为其声明List集合内数据的对象类型。

C#中this的作用

6348次阅读|281次收藏|236次赞

在C#中,this关键字代表当前实例,我们可以用this.来调用当前实例的成员方法,变量,属性,字段等; 也可以用this来做为参数状当前实例做为参数传入方法. 还可以通过this[]来声明索引器。下面介绍C#中this的作用