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

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

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

dataset用法

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

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

C#中yield

1019次阅读|92次收藏|228次赞

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

C# volatile与lock

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

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

c# 协变和逆变

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

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

C#中SortedList的用法

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

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

C#中ICollection介绍

9908次阅读|474次收藏|363次赞

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

C#中IDisposable

15904次阅读|437次收藏|389次赞

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

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

1401次阅读|464次收藏|134次赞

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

数组、ArrayList和List的区别

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

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

C#中this的作用

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

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

C#如何获取真实IP地址

2558次阅读|7次收藏|231次赞

现在越来越多的网站使用了代理加速方式,比如 新浪、SOHU的新闻,都使用Squid做代理方式,利用多台服务器分流。Squid本身类似透明代理,会发送"HTTP_X_FORWARDED_FOR" ,取"真正"IP地址的方式,还应该判断"HTTP_X_FORWARDED_FOR" 中是否有","逗号,或者长度是否超长。下面介绍C#如何获取真实IP地址

C#插入排序

1437次阅读|279次收藏|226次赞

插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外,而第二部分就只包含这一个元素。在第一部分排序后,再把这个最后元素插入到此刻已是有序的第一部分里的位置。下面介绍C#中插入排序的用法

C#冒泡排序

1300次阅读|107次收藏|223次赞

冒泡排序的原理是依次比较相邻的数据,将小数据放在前,大数据放在后;即第一趟先比较第1个和第2个数,大数在后,小数在前,再比较第2个数与第3个数,大数在后,小数在前,以此类推则将最大的数"滚动"到最后一个位置;第二趟则将次大的数滚动到倒数第二个位置......第n-1(n为无序数据的个数)趟即能完成排序。下面介绍C#中冒泡排序的用法

C#验证身份证号码

1632次阅读|121次收藏|102次赞

15位身份证号码=6位地区代码+6位生日+3位编号,18位身份证号码=6位地区代码+8位生日+3位编号+1位检验码。即身份证号码的情况有:身份证号码为15位数字;身份证号码为18位数字;身份证号码为17位数字+1个字母。下面介绍C#验证身份证号码的方法