一.泛型集合
双列泛型的三种遍历:
Dictionary<string,Student> dic=new Dictionary<string,Student>();dic.add("张三",stu1);dic.add("李四",stu2);
(1)
foreach(string item in dic.Keys){Student stu=dic[item];}
(2)
foreach(Student item in dic.Values){ Console.WriteLine(item);}
(3)
foreach(KeyValuePair<string,Student> item in dic){//item=key+Valueitem.Keyitem.Value}
//数据绑定 List<UserInfo> list ----单列绑定dgvList.DataSource=new BindingList<UserInfo>(list);--------------------------------------------------------------
双列绑定Dictionary<string,Student> dic=new Dictionary<string,Student>();BindingSource bs=new BindingSource();bs.DataSource=dic.Values;dgvList.DataSource=bs;
二.集合的扩容原理
当调用Add()方法时,先判断集合中元素的个数和保存元素的个数的数组长度是否一致,再决定是否扩容
如果数组长度小于需要长度就扩容,
如果数组长度不等于0就将数组的长度*2
***注:扩容的上限为0x7fefffff约21亿
再调用Capacity的set方法利用数组间的copy方法(新数组的长度是旧数组的二倍)给数组扩容
三.方法重载可变参数
C# 可变的public void say(params object[] objs){}public static int ExecuteNonQuery(string cmdTxt, params SqlParameter[] parames){return ExecuteNonQuery(cmdTxt, CommandType.Text, parames);}
JAVA
public ResultSet executeQuery(String sql,Object... objs) throws Exception{ con=getConnection(); ps = con.prepareStatement(sql); for (int i = 0; i < objs.length; i++) { ps.setObject(i+1, objs[i]); } rs= ps.executeQuery(); return rs;}
四.对象间的交互.
UML(Uniform Model Language)统一建模语言:
StarUML:
类图
用例图
序列图/时序图
转载于:https://www.cnblogs.com/wy0119/p/7016920.html
