1、Delegate
表示委托,委托是一种数据结构,它引用静态方法或引用类实例及该类的实例方法。
命名空间:System
2、extern
修饰符用于声明在外部实现的方法。extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 属性一起使用。在这种情况下,还必须将方法声明为 static
DllImport("avifil32.dll")]
private static extern void AVIFileInit();
也就是说这个方法是放在申明的类之外的类中实现的.
3、C#动态调用C++编写的DLL函数
namespace Bn6.Common
{
public class DLLWrapper
{
///<summary>
///通过非托管函数名转换为对应的委托
///</summary>
///<param name="dllModule">通过LoadLibrary获得的DLL句柄</param>
///<param name="functionName">非托管函数名</param>
///<param name="t">对应的委托类型</param>
///<returns>委托实例,可强制转换为适当的委托类型</returns>
public static Delegate GetFunctionAddress(int dllModule, string functionName, Type t)
{
int address = GetProcAddress(dllModule, functionName);
if (address == 0)
return null;
else
return Marshal.GetDelegateForFunctionPointer(new IntPtr(address), t);
}
4、interface
interface是C# 中接口操作的关键字,功能是把所需成员组合起来,以封装一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。接口不能直接实例化,即ICount ic=new iCount()是错的。接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。
接口是一种约束形式,其中只包括成员定义,不包含成员实现的内容。
5、virtual
virtual 关键字用于修饰方法、属性、索引器或事件声明,并且允许在派生类中重写这些对象。例如,此方法可被任何继承它的类重写。
virtual 修饰符不能与 static、abstract, private 或 override 修饰符一起使用。
6、internal
internal 关键字是类型和类型成员的访问修饰符。 只有在同一程序集的文件中,内部类型或成员才是可访问的。
7、event
event 关键字用于在发行者类中声明事件
网址:http://www.cnblogs.com/michaelxu/archive/2008/04/02/1134217.html
8、SQL Server DATEDIFF() 函数
定义和用法
DATEDIFF() 函数返回两个日期之间的天数。
语法
DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。
datepart 参数可以是下列的值:
|
datepart |
缩写 |
|
年 |
yy, yyyy |
|
季度 |
qq, q |
|
月 |
mm, m |
|
年中的日 |
dy, y |
|
日 |
dd, d |
|
周 |
wk, ww |
|
星期 |
dw, w |
|
小时 |
hh |
|
分钟 |
mi, n |
|
秒 |
ss, s |
|
毫秒 |
ms |
|
微妙 |
mcs |
|
纳秒 |
ns |
使用如下 SELECT 语句:
SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate
结果:
|
DiffDate |
|
1 |
例子 2
使用如下 SELECT 语句:
SELECT DATEDIFF(day,'2008-12-30','2008-12-29') AS DiffDate
结果:
|
DiffDate |
|
-1 |
网址:http://www.w3school.com.cn/sql/func_datediff.asp
9、base
base 关键字用于从派生类中访问基类的成员:
调用基类上已被其他方法重写的方法。
指定创建派生类实例时应调用的基类构造函数。
基类访问只能在构造函数、实例方法或实例属性访问器中进行。
10、new操作符创建一个对象时所执行的工作
1。从托管堆(managed heap)中分配指定类型所需要数量的字节作为存储该对象的内存空间。
2。初始化对象的附加成员,每一个对象包含两个附加成员。CLR使用这两个对象来管理对象实例。
2.1一个是指向该类型方法表的指针。
2.2一个是用于线程同步控制和垃圾收集的SyncBlockIndex。
3。传入new操作符中指定的参数,调用类型的实例构造函数。
11、sideBar
SideBar是一个能够以分组形式显示项目列表的第三方控件,能够实现类似QQ好友分组的功能。SideBar控件中可以包含很多组(SbGroup),每个组又可以包含很多项(Sbitem)。
SideBar的常用属性:view属性:设置SideBar列表项的两种显示方式:大图标和小图标;imagelist属性:通过和imagelist控件的关联,指定列表项中显示的图片在imagelist控件中的索引。
http://blog.163.com/long_maxmin/blog/static/172763488201121115711724/
12、C#里面 private int? _position
表示可以为NULLABLE,正常的INT必须有值,默认是0,加了?表示_position可以=null了......
注:(1)、所有值类型的都可以;
(2)、也可以这样:private int? _coperator=-1;
13、extjs
extjs是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架。
14、readonly
readonly 关键字是可以在字段上使用的修饰符。 当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。
http://msdn.microsoft.com/zh-cn/library/acdd6hb7.aspx
15、c#中readonly和const的区别
(1)、const可以用于局部变量,也可以用于字段;
(2)、const字段只能在该字段的声明中初始化,readonly 字段可以在声明或构造函数中初始化;
(3)、const为编译时常量,readonly为运行时常量,所以readonly在编译和执行时都可以赋值;
(4)、readonly用户数组不会冻结数组,会冻结数组元素的数量,不过数组中的元素可写
http://www.mossfly.com/csharp-difference-between-readonly-and-const.html
16、EXISTS
指定一个子查询,检测行的存在。
语法
EXISTS subquery
参数
subquery
是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。有关更多信息,请参见 SELECT 中有关子查询的讨论。
结果类型
Boolean
结果值
如果子查询包含行,则返回 TRUE。
浙公网安备 33010602011771号