随笔分类 - c#基础知识点
记录所学c#基本知识点和例子
摘要:概述一个进程的多个线程可以运行在不同的cpu上,或者多个核心的cpu的不同核心上。windows 资源管理其thread列可以查看进程和每个进程的线程号。进程包含资源,例如window句柄、文件系统句柄和其他核心对象。每个进程都分配了虚拟内存。一个进程至少包含一个线程。操作系统会调度线程。线程有一个优先级、正在处理的程序的位置的计算器、一个存储器本地变量的堆栈。每个线程都有自己的堆栈,但程序代码的内存和对有进程内所有线程共享。这使一个进程中的所有线程通讯非常快--该进程的所有线程都寻址相同的虚拟内存。但是,这也是处理比较苦难,因为多个线程可以修改同一个位置的内存。进程管理的资源包括虚拟内存和w
阅读全文
摘要:今天搞一个webservice,简单的实现步骤如下:第一,在一个项目中的websercie工程下新建一个.asmx(webservice页面),写好公开的方法。第二,将这个工程运行起来,通过url调用这个webservice,例如:http://localhost:6668/WebService/UploadDllService.asmx 就可以看到相关的方法了。第三,打开注册.net的命令行,输入:wsdl http://localhost:6668/WebService/UploadDllService.asmx /out:D:\UploadDllWebService.cs,此后将会在d盘
阅读全文
摘要:今天做动态加载dll发现一个好的泛型读取列的方法,结合自己的使用,还有自己的命名的越来越感觉好一些,看代码就像读英文。DllFile.cs.Code 1 /// <summary> 2 /// dll文件 3 /// </summary> 4 internal struct DllFile 5 { 6 /// <summary> 7 /// 文件名 8 /// </summary> 9 public string Name { get; set; }10 11 /// <su...
阅读全文
摘要:静态字段与静态构造函数static 修饰成员的初始化总是先与实例成员,static成员与该类型相关与类型实例无关。静态字段类型中静态字段之间的实例化顺序是按代码中的书写顺序执行。静态字段先与本类静态构造函数执行;静态字段中使用到的其他类型的静态字段,则递归倒序从最底层实例化静态字段和调用静态构造函数。静态构造函数静态构造函数不能被任何修饰符修饰,并且整个生命周期只被调用一次。静态只读字段静态只读字段可以在两处被赋值,一次是静态字段本身初始化,另一次是在静态构造函数中修改值,此后永远不允许改变其值。Program.Entry.Code static void Main(string...
阅读全文
摘要:CTS(Common Type System)通用类型系统,CLI(Common language Infrastructure) 公共语言基础结构CLS(Common language Specifaction) 公共语言规范:详细定义了一个最小功能集。
阅读全文
摘要:参数中的问好(?)表示可空类型;例如: public ActionResult ShowArticles(DateTime ? date) { if (!date.HasValue) { date=DateTime.Now; ViewData["Message"] = date; } return View(); }参数为null 总结(?)1. 任意一个可为空的值类型都可以与 Object 共存,而不会被认为是错误的不明确的重载,但是 Object 永远不会被调用 2. String、DateTime等无法与其他非 Object 类型作为两个重载,会产生不能明确调用的错误
阅读全文
摘要:一,委托的使用基本步骤:1,声明委托类型 public delegate void MyDelegate(string name ,int age);2,创建一个委托,指引方法到委托 MyDelegate handler=new MyDelegate(MehtodOfMyDelegate);// 不用构造函数的 MyDelegate handler= MehtodOfMyDelegate;3,调用委托(如果函数) handler("yindongli",25);二,异步回调(将委托作为参数传递)基本步骤同上,如:public void MethodWithCallback(
阅读全文
摘要:迭代: 迭代属性又称迭代器 c#入门经典IEnumerable 接口负责 使用foreach 循环,重写foreach 循环的方式,或者提供一个定制的实现,并不一定很简单,深入了解foreach循环(1)调用collectionObject.GetEnumerator(),返回IEnumerator应用,这个方法可以通过IEnumerable接口的实现代码来获得,但这是可选的。(2)调用所返回的IEnumerator接口的MoveNext()方法。(3)如果MoveNext()方法返回true,就是用IEnumerator接口的Current属性获取对象的一个引用,用foreach循环。(4)
阅读全文

浙公网安备 33010602011771号