不定量后果

作者:yaya | 时间:2009年6月3日 | 分类 随便写写 | 标签 无敌 无语 无双 .net 搞笑 | 1回复

同学让我看他上的软件架构课的一个设计要求,哈哈,于是有了加亮处的效果。

Project 1: Voting for Decision

      软件所需功能: 搜索多个给定的HTML或文本文件,从中确定一个最符合搜索关键词的文件。

       小组要求:三个同学以上,四个同学以下

 实现要求:

每个同学实现一个独立的搜索模块,期中包括对 HTML或文本文件中文本的扫描,计算文件和关键词组的接近程度。每个同学采用不同的做法,属于独立线程。
有图形界面,form。
有一个投票模块,根据不同同学搜索模块得到的结果进行投票,返回多数支持的结果,要求总能得到多数支持的结果。
最后打开结果文件。
提交文档:

软件架构文档
代码
类视图
线程视图
演示结

 

上学期选了这个老师的课,这学期没有。
他的绰号真不是盖的:无语兄。

呵呵。

ArrayList赋值

作者:yaya | 时间:2008年12月16日 | 分类 学海无涯 | 标签 .net arraylist 学习 | 0回复

在ArrayList赋值给另一个ArrayList时候,很容易就不小心犯错误,然后在程序中找了半天,最后发现原来是ArrayList赋值的时候出现了错误。

现在,让我们来看看错误的情况。
假设有
       ArrayList a= new ArrayList();
       ArrayList b= new ArrayList();
       a.Add("1");
       a.Add("2"); 
现在要把a赋给b,该怎么做呢?一个简单又不会错的办法就是循环赋值
       foreach(Object o in a) { b.Add(o); }
而要是写成
      
b=a;
 就错了,因为其值是引用类型,所以赋值后,即把b的引用地址传给了a,这样的话,其操作的都是同一数据,改变a或者b,都将对数据有相同影响。也就是说,a和b“相同”了。比如b.Add("3"),则a也相当于做了a.Add("3") 所以,是不行了。
其实,还可以写作
       a = new ArrayList(b.GetRange(0, b.Count));
GetRange的参数可以选择自己需要的,0和b.Count则复制完所有数据。

用反射机制来保存对象到数据库

作者:yaya | 时间:2008年11月29日 | 分类 学海无涯 | 标签 .net 反射 对象 数据库 学习 项目 | 3回复

哈哈,今天刚刚弄好用反射机制来保存对象到数据库(MSSQL2005) 虽然保存的对象要是遇到复杂的情况还是要出问题,但一般的包括引用类型在内的都可以搞定。 现在有时间就继续完备,算是超级轻量级的对象数据库关联了。 不知道真正的对象数据库什么时候才真正普遍起来。现在在OO与关系数据库中间,不论做什么转换工作,其效率都是不高的。 只有直接才有高效率。 在程序中有意义的地方: Object o = System.Reflection.Assembly.Load().CreateInstance()(对于动态生成对象还是用反射简单) 我觉得最好这样,比直接createInstance好,这样对不同的程序集也可以轻松创建实例。 而对于函数默认参数,用重载就可以了。 而对于Object o的赋值(假设o是创建的A),直接调用A的方法属性是不行的,而也不需要动态的将object换行成A,用setvalue就可以了。 支持所以A的方法和属性。 在最后显示的转换要还原的对象就可以了。
  1. 1