上一页 1 ··· 4 5 6 7 8 9 10 下一页
摘要: class SerializeTool { public static object DeepClone(object original) { //释放流对象 using (Stream stream = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, formatter); ... 阅读全文
posted @ 2012-12-05 08:53 viola 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 有两个村,张村和李村张村的人星期一三五说谎李村的人星期二四六说谎一人问,今天周几?结果两个村的人都回答“前天是我说谎的日子”问:今天是周几? class WhoIsLieing { public void Run() { bool[] zState = { false,true,false,true,false,true,true}; bool[] lState = { true,false, true, false, true, false, true}; for (int i = 0; i ... 阅读全文
posted @ 2012-12-04 15:31 viola 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 过程:1.根据目的,写一个测试。2.使得测试可用通过。3.重新编写不可以通过的测试。4.重构代码,去掉垃圾代码。 阅读全文
posted @ 2012-11-05 09:41 viola 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键表中没有这个值,则不能插入。 (2)更新时,不能改为主键表中没有的值。 (3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。(4)更新主键记录时,同样有级联更新和拒绝执行的选择。INSERT 和 UPDATE 规范类别 展开以显示有关该关系的“删除规则”和“更新规则”的信息。删除规则 指定当数据库的最终用户尝试删除某一行,而该行包含外键关系所涉及的数据时所发生的情况。如果设置为: Restrict(限制)︰如果有从行就不能删除父行。 Cascade(级联)︰删除父表中的行会自动删除... 阅读全文
posted @ 2012-09-06 09:38 viola 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 1.索引字段通常建立在where后面的字段上。是因为:可以确定索引文件的地址,进而在指定的行上查找内容。如果不是要全表扫描。2.索引字段一般是表的主键字段。是因为它是唯一的按照一定顺序排列的值。3.一个表上不一定只有一个 索引字段,可以建立复合索引字段。查找时按照字段的先后顺序排列。4.索引分为:聚簇索引、非聚簇索引。5.非聚簇索引:是引用聚簇索引的。它不能一下子就定位到要查找内容的范围,而是定位到可能存在的目标的几个范围,首先返回页码,然后再这些页码内找目标。6.把可能where后面的语句都加索引,原因未知。 阅读全文
posted @ 2012-08-16 16:25 viola 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 使用ext的fit(自动扩展大小)布局格式的时候,每个控件自动的占据整个宽度按不能实现犬牙式的布局解决问题的方法是:使用margin设置控件边界距离可以区域之间的指。ext的margin属性值一次上top ,right,bottom ,left.我在实验这个时候,开始使用错误的属性名称margins,不现实效果,让我很无解。实验是我在一个js脚本中做的,没有嵌套到的我自己的测试工程里面使得实验的结果和测试结果差异很大造成无效实验,浪费了很多时间所有建议,只写i一个直达目的的测试工程。 阅读全文
posted @ 2012-04-09 23:18 viola 阅读(220) 评论(0) 推荐(0) 编辑
摘要: private void ThreadToMainExeption(){Thread t = new Thread(() =>{try{Console.WriteLine("work thread");}catch (Exception e){this.Invoke((Action)delegate{throw e;});//无法将lambda表达式转为delegate类型。//this.Invoke(() =>//{//});//无法将匿名方法转为委托类型。//this.Invoke(delegate//{// throw e;//});//该段代码可以通过, 阅读全文
posted @ 2012-03-27 10:30 viola 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 转换操作符为不同类型之间提供隐式转换和显式转换,主要用于方法调用,转型表达和赋值操作。转换操作符对其参数类型(被转换类型)和返回值类型(转换类型)也有严格的要求。参数类型和返回值类型不能相同,且两者之间必须至少有一个和定义操作符的类型相同。转换操作符必须定义在被转换类型或转换类型任何其中一个里面。不能对系统定义过的转换操作进行重新定义。两个类型也都不能是object或接口类型,两者之间不能有直接或间接的继承关系--这三种情况系统已经默认转换。 阅读全文
posted @ 2012-03-02 09:16 viola 阅读(163) 评论(0) 推荐(0) 编辑
摘要: public static void Marshlling(){AppDomain adCallingThreadMain = Thread.GetDomain();Console.WriteLine("main thread run in {0}", adCallingThreadMain.FriendlyName);string exeAssembly = Assembly.GetEntryAssembly().FullName;Console.WriteLine("main assembly {0}", exeAssembly);AppDomain 阅读全文
posted @ 2012-02-28 21:40 viola 阅读(1143) 评论(0) 推荐(0) 编辑
摘要: 每当程序运行的时候,出现“类型****反射出错”。去查询异常的详细信息,会发现,是因为定义的类型的没有显示给出无参构造函数。此时如果添上的话,该错误即可解决。如:publicclass Customer{/// <summary>/// 必须实现声明该方法。序列化的时候使用。/// </summary>public Customer(){}private string m_Company;public string Company{get { return m_Company; }set { m_Company = value; }}private string m_C 阅读全文
posted @ 2012-02-14 14:10 viola 阅读(1275) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 下一页