C#碎知识笔记

1.双问号——高效率的写法
string str = req.Form[name] ?? req.QueryString[name] ?? "";
“单问号—用于给变量设初值的时候,给变量(int类型)赋值为null,而不是0!
双问号—用于判断并赋值,先判断当前变量是否为null,如果是就可以赋一个新值,否则跳过!”
如:
public int? para;
//public int para;如果不注释掉此行,而把上一行注释掉的话,下面会报错!
public int par()
{
    return this.para ?? 0;
}
 
2.使控制台消息不立即消失:

Console.Write("按任意键继续...");

Console.ReadKey();//或者Console.Read();或者Console.WriteLine();
 

3.虚方法与抽象方法的区别

抽象方法:使用abstract关键字

必须被派生类覆写的方法。

抽象方法不能有方法体,如下:

public abstract void print();  注意这里没有{}但是有;

有抽象方法的类必定要声明为抽象类。

抽象方法可以看成是没有实现体的虚方法。

 

虚方法:使用virtual关键字

虚方法可以有具体实现的方法体也可以没有,但必须有{},如下

public virtual void print(){}  注意这里没有;

子类可以不覆写父类的虚方法,则调用的时候直接调用父类对应的虚方法。

 

抽象方法和虚方法都是使用override进行重写

4.虚拟键盘 

 1  private void button1_Click(object sender, EventArgs e){         
 2    this.textBox1.Focus();        
 3    for (int i = 65; i < 91; i++)        
 4  {             
 5       char MyChar = (char)i;            
 6       SendKeys.Send(MyChar.ToString());
 7       System.Threading.Thread.Sleep(100);            
 8       SendKeys.Flush();        
 9    }
10  }

 

 

 

 

 

 

 

posted @ 2012-08-15 16:59  just。。。  阅读(168)  评论(0编辑  收藏  举报