第一组:刘聪 C# Queue
1、Queue定义
队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。
2、优点
a、能对集合进行顺序处理(先进先出)。
b、能接受null值,并且允许重复的元素。
3、 Queue的构造器
- Queue ()
初始化 Queue 类的新实例,该实例为空,具有默认初始容量(32)并使用默认增长因子(2.0)。 - Queue (ICollection)
初始化 Queue 类的新实例,该实例包含从指定集合复制的元素,具有与所复制的元素数相同的初始容量并使用默认增长因子。 - Queue (Int32)
初始化 Queue 类的新实例,该实例为空,具有指定的初始容量并使用默认增长因子。 - Queue (Int32, Single)
初始化 Queue 类的新实例,该实例为空,具有指定的初始容量并使用指定的增长因子。
4. Queue的方法
Void Clear():从 Queue 中移除所有对象。
Bool Contains(object obj):确定某元素是否在 Queue 中。
Object Clone():创建 Queue 的浅表副本。
Void CopyTo(Array array,int index):从指定数组索引开始将 Queue 元素复制到现有一维 Array 中。
Object Dequeue():移除并返回位于 Queue 开始处的对象。
Void Enqueue(object obj) :将对象添加到 Queue 的结尾处。
Object Peek() :返回位于 Queue 开始处的对象但不将其移除。
Object[]ToArray():将 Queue 元素复制到新数组。
Void TrimToSize():将容量设置为 Queue 中元素的实际数目。
第二组:徐晋 十大编程算法之四:二分查找算法
二分查找算法是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束; 如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο(logn) 。
第三组:吴景霞 Bootstrap3 datetimepicker控件的使用
Bootstrap3 日期+时间选择控件
1.支持日期选择,格式设定
2.支持时间选择
3.支持时间段选择控制
4.支持中文
官网地址:http://eonasdan.github.io/bootstrap-datetimepicker/
git地址:https://github.com/Eonasdan/bootstrap-datetimepicker
moment语言包:https://github.com/moment/moment
datetimepicker使用配置说明:http://eonasdan.github.io/bootstrap-datetimepicker/Options/
moment时间格式化使用说明:http://momentjs.com/docs/
使用方法,引用的文件:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34. [javascript]
35. $(function () {
36. $('#datetimepicker1').datetimepicker({
37. format: 'YYYY-MM-DD',
38. locale: moment.locale('zh-cn')
39. });
40. $('#datetimepicker2').datetimepicker({
41. format: 'YYYY-MM-DD hh:mm',
42. locale: moment.locale('zh-cn')
43. });
44. });
第四组:傅云 求两个数组之间是否修改、删除、更新
Array holdcardcontrol = (oldversion.ToArray()).Intersect(newversion.ToArray()).ToArray();//交集--update
Array delcardcontrol = (oldtids.ToArray().Except(newtids.ToArray())).ToArray();//待删除
Array addcardcontrol = (newtids.ToArray().Except(oldtids.ToArray())).ToArray();//待添加
第五组:王炳钧 【C#】List对象的深复制
参考网址: http://blog.csdn.net/qq_18995513/article/details/53957048
一、List对象中的T是值类型的情况(int 类型等)
对于值类型的List直接用以下方法就可以复制:
List
oldList.Add(..);
List
二、List对象中的T是引用类型的情况(例如自定义的实体类)
1、对于引用类型的List无法用以上方法进行复制,只会复制List中对象的引用,可以用以下扩展方法复制:
static class Extensions
{
public static IList Clone(this IList listToClone) where T: ICloneable
{
return listToClone.Select(item => (T)item.Clone()).ToList();
}
//当然前题是List中的对象要实现ICloneable接口
}
2、另一种用序列化的方式对引用对象完成深拷贝,此种方法最可靠
public static T Clone(T RealObject)
{
using (Stream objectStream = new MemoryStream())
{
//利用 System.Runtime.Serialization序列化与反序列化完成引用对象的复制
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(objectStream, RealObject);
objectStream.Seek(0, SeekOrigin.Begin);
return (T)formatter.Deserialize(objectStream);
}
}