- 博客(13)
- 资源 (16)
- 收藏
- 关注
翻译 C#集合性能方面了解
许多结合类都提供了相同的功能,例如,SortedList类与SortedDictionary类的功能几乎完全相同。但是,其性能常常有很大的区别。一个集合使用内存少,另一个集合的元素检索速度快。在MSDN文档中,集合的方法常常有性能提示,给出了以大写O记号表示的操作时间:O(I)O(Log n)O(n)O(I)表示无论集合中有多少数据项,这个操作需要的时间都不变。例如,ArrayLi...
2018-12-29 10:54:43 684
原创 集合之有序列表
如果需要基于键对所需集合排序,就可以使用SortedList<TKey,TValue>类。这个类按照键给元素排序。这个集合中的值和键都可以使用任意类型。 //有序列表 //SortedList<TKey,TValue>类只允许每个键有一个对应的值 //SortedDictionary<TKey...
2018-12-29 09:57:52 276
原创 集合之链表
LinkedList<T>是一个双向链表,其元素指向它前面和后面的元素。优点:如果将元素插入到列表的中间位置,使用链表就会非常快。在插入一个元素时,只需要修改上一个元素的Next引用和下一个元素的Previous引用,使它们引用所插入的元素。在List<T>类中,插入一个元素时,需要移动该元素后面的所有元素。缺点:链表的元素只能一个接一个地访问,这需要较长的时间来查...
2018-12-28 17:39:04 192
原创 集合之栈
栈是与队列非常类似的另一容器,只是要使用不同的方法访问栈。最后添加到栈中的元素会最先读取。栈是一个先进后出的容器(Lastin,Firstout,LIFO)的容器。与Queue<T>类相似,Stack<T>类实现IEnumerable<T>和ICollection接口。Stack<T>类成员如下:Count:返回栈中的个数;Push:在栈...
2018-12-27 09:45:39 144
原创 集合之队列
队列是其元素以先进先出的方式处理的集合。先放入队列的元素会先读取。队列使用System.Collections.Generic 名称空间中的泛型类Queue<T>实现。在内部,Queue<T>类使用T类型的数组,这类似于List<T>类型。它实现ICollection和IEnumerable<T>接口,但没有实现ICollection<T&...
2018-12-27 09:10:44 460
原创 C#订阅事件
简单说明:有书商和消费者,书商进来了新书会对订阅新书到店的用户,进行通知代码如下: /// <summary> /// 书的详细信息 /// </summary> public class BookEventArgs : EventArgs { /// <summary> ///...
2018-12-25 14:02:02 1246
原创 lambda表达式一些简单实用方法
//单行lambda表达式 Func<int, double> func1 = x => x * 3.2; Console.WriteLine(func1(3)); //多行lambda表达式 Func<int, int, double> func...
2018-12-25 11:22:58 289
原创 多播委托
顾名思义就是委托上面调用多个方法:案例如下: static void Main(string[] args) { Action action = one; action += two; Delegate[] delegates = action.GetInvocationLis...
2018-12-25 10:54:38 142
原创 通过委托自定义排序规则
话不多说直接看代码 public static void Sort<T>(IList<T> sortArr, Func<T, T, bool> compare) { bool flag = true; do { flag = false...
2018-12-25 10:33:22 147
原创 Tuple元组详细讲解
1.tuple相当于存放和获取的中间仓库,在C#4.0进行引入,可替换ref/out;尤其对引用类型(禁止引用的引用);和数组合并相同对象的不同之处是元组合并了不同类型的对象;.NET 4定义了8个泛型Tuple类和一个静态Tuple类,它们用作元组的工厂。这里的不同泛型Tuple类支持不同数量的元素。例如,Tuple<T1>包含-个元素,Tuple<T1,T2>包含两...
2018-12-24 11:00:20 193
原创 C#数组详解
数组分为:普通数组,多维数组、锯齿数组和自己创建的数组;具体使用如下 /// <summary> /// 普通数组 /// </summary> /// <returns></returns> public string[] GetStringList() { ...
2018-12-24 10:21:34 173
原创 C#协变和抗变详解
简要介绍:协变和抗变指对参数和返回值进行转换;协变:按照继承链正向改变(实际上是向上兼容:子类向父类的转化)逆变:按照继承链反向改变(实际上是向下兼容:父类向子类的转化)下面说一下具体使用方式(在.net4之前,泛型接口没有协变和抗变)一.不使用泛型接口的情况//.net 参数类型是协变的返回类型是抗变的public class Shape { ...
2018-12-21 13:39:59 752
原创 C#自定义泛型类型集合
一.定义接口 public interface ICustom { string Title { get; set; } string Content { get; set; } }二.实现接口 public class Custom : ICustom { public string Title { get...
2018-12-20 11:39:43 1253 1
NpoiWordBySwagger.zip
2019-10-11
webapi下的token认证和刷新token
2018-04-27
flexpaperDemo
2017-01-13
.net邮箱的简单制作
2016-07-15
EasyUI中datagrid 分页,僧删改查,上下移动数据.net案例
2016-07-08
用webform实现的文本框提示搜索功能
2016-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人