摘要:
很多时候,我们会碰到这样的场景:“删除一个表的数据的时候,将另一个表的相关数据删除。”在这里我建立两张表:“ProductCategory”,“Product”.有一个需求是这样的:在删除某个ProductCategory 的时候,同时删除该Category的products.这里是创建两张表的脚本:CREATE TABLE [dbo].[ProductCategory]( [Id] [uniqueidentifier] NOT NULL, [Name] [varchar](50) NULL, CONSTRAINT [PK_ProductCategory] PRIMARY KEY ... 阅读全文
摘要:
介绍:事实上我喜欢正则:他们做的很好了。 事实上他们太好了,以至于几乎所有的程序员都必须使用它。不幸的是每当我需要一个正则的时候,我都会碰到同样的问题:对于那些该死的语法我基本上都忘光了..。如果我每天都要写一个的话,我可能会很容易的记住他们,可是在一年里我基本上很少写几个..在厌倦了一次又一次的查看和学习文档之后,我决定通过String的扩展方法来实现他们..背景:在处理大文本的验证,提取,编辑,替换或者是删除一个给定模式的文本(例如一个邮箱地址)的时候,正则表达式非常强大和简洁。为了正确的使用正则表达式,你应该:一个用于分析的文本。一个正则表达式解析引擎。一个正则表达式(文本中用于查找分析 阅读全文
摘要:
TopMost 相信很多人都用过,msdn的解释如下:如果你设置了Form的TopMost为true的话,那么窗体就会被显示为最底层窗体.public partial class Form1 : Form{ public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.TopMost = true; }}这个form很简单,在Load的时候将自己的TopMost 设置为true。如果你直接运行... 阅读全文
摘要:
和对象类型(object type),类型转换(type conversions)打交道的关键字:asisexplicitimplicitoperatorsizeoftypeofis and asis : 用来判断某个对象是不是某个类型。string str= string.Empty; if (str is string) { }在这里如果str 是string 的话,if 就是true。as :将某个对象转换为某个类型。string str= string.Empty; if (str is string) { } string as_str = str as string; if (as 阅读全文
摘要:
最近在看Head First 设计模式,其中命令模式中有讲到实现撤销功能,并且作者还出了一道题,下面的是书中习题:public class MarcoCommand implements Command{ Command[] commands; public MarcoCommand(Command[] commands) { this.commands = commands; } public void execute() { for (int i = 0; i < commands.Length; i++) { commands[i].execute(); } } public... 阅读全文
摘要:
这边文章主要探讨流程控制的关键字:首先从最常用的for开始1:初始i =0, 2:判断i<10 成立,3:Console.WriteLine(i);4:执行i++,转到step 2.在这里,输出很简单,0,1,2,3,4,5,6,7,8,9,10?问,有10吗?我们从9开始,在Console.WriteLine(9)之后,接着执行i++,此时,i = 10.转到step2,判断i<10,因为10<10 返回false,所以跳出循环。所以不会输出10.好,我们难一点,问:输出什么?答:1,3,5,7,9,11?首先初始为1,接着判断,接着输出,接着+2,所以1,3,5,7,9. 阅读全文
摘要:
用于修饰类,方法,属性和字段的关键字: 首先从最简单的private,protected,internal,public 解释。 public 和internal 修饰类。 public,protected,private 修饰方法。 修饰类的时候: public 代表公开,也就是所有程序集都可以访问这个类。 internal 代表内部的,也就是只有在同一程序集中才能访问这个类,一般而言同一程序集就是同一个dll。 修饰方法的时候: public 代表公开,也就是所有的类都可以访问这个方法。 protected 代表受保护的,也就是只有我的子类才能访问这个方法。 private 代表私有的.. 阅读全文
摘要:
首先大部分的C#关键字都在下表:abstractasbaseboolbreakbytecasecatchcharcheckedclassconstcontinuedecimaldefaultdelegatedodoubleelseenumeventexplicitexternfalsefinallyfixedfloatforforeachgotoifimplicitinin (generic modifier)intinterfaceinternalislocklongnamespacenewnullobjectoperatoroutout (generic modifier)override 阅读全文
摘要:
刚回到家,看到博客园里面的首页: 按照习惯,我打开了新闻头条:[新闻头条]噱头与实质(4/939) 里面有一副图片估计有点内涵,但是又看不清楚。 知道有内涵,于是我把图片保存下来,然后放大查看: 郁闷的是,依然看不清楚到底写了什么,和我有同样问题的是下面的这位: 哈哈,不用我解释了。其实很早我就知道搜索引擎有搜索相似图片的功能:打开Baidu: 打开google: 同样的操作,在google下面可以体会到“爽”的感觉,哎,度娘啊。。。最后这个图片如下: 阅读全文
摘要:
如果你想记录一个方法的开始和结束,那么该怎么做呢?最简单的方法:public class MyClass{ public void MyMethod() { Log.EnterMethod(); Console.WriteLine("MyMethod"); Log.ExitMethod(); }}可是,如果已经有了一个程序集,想在每个方法的开始和结束记录方法的执行,那么该如何做呢?在CodeProject 上有篇文章就介绍了如何处理这种情况:MethodLogger - Hook into method calls in .NET binaries本文不打算做翻译,只是随便 阅读全文