摘要:
嵌套结构体 复杂的数据类型往往结构体中还有结构体,即嵌套结构体,也可以说是复杂类型.如下定义Person中的name属性被定义成IntPtr, 测试代码 1.使用IntPtr 定义结构体分析如下代码片... 阅读全文
随笔分类 - F.net Framework
.net 互操作之p/invoke- 数据封送(结构体中的字符串,其他字段,内存布局)(4)
2010-08-26 23:49 by Clingingboy, 1047 阅读, 收藏, 编辑
摘要:
一.字符串封送 与传值没多大区别,内存释放也分两种,自动和手动,不再介绍 1.托管结构与函数2.非托管函数 3.测试 4.封送字符串数组 定义函数 测试 其他字段封送以MarshalAs标签来封送 如... 阅读全文
.net 互操作之p/invoke- 数据封送(结构体传参,返回值,内存管理)(3)
2010-08-26 23:47 by Clingingboy, 1282 阅读, 收藏, 编辑
摘要:
除了简单的数据类型传值之外,还可以传递自定义的结构体 传参 一.同时定义非托管和托管的结构体在托管代码中,需要注意一下几点 1.以StructLayout 来标记此结构体,以Sequential来指... 阅读全文
.net 互操作之p/invoke- 数据封送之字符串(2)
2010-08-26 23:45 by Clingingboy, 767 阅读, 收藏, 编辑
摘要:
使用Unicode传递 一.定义托管函数第一个参数是传入的参数,第二个是输出的. 注意 1.String是不可变类型,const wchar_t* inString 2.wchar_t*为Unicod... 阅读全文
MEF(Managed Extensibility Framework)学习笔记
2010-06-23 10:19 by Clingingboy, 1151 阅读, 收藏, 编辑
摘要:
MEF为.net 4.0中默认的容器.以比较的方式来学习此框架.看看有没新概念. 步骤 1.注册容器对象 2.加载注册对象(尚未实例化) 3.创建容器 4.从容器中取对象 5.创建策略... 阅读全文
属性,构造函数,枚举
2010-06-10 23:32 by Clingingboy, 1286 阅读, 收藏, 编辑
摘要:
如下示例类1.以属性填充方式进行2.以构造函数填充以此构造函数创建对象有如下缺点(1)必须4个参数全部输入(不考虑c# 4.0缺省参数),必须重新构建新构造函数,如(2)构造函数一些容易造成混淆有人说... 阅读全文
.net 4.0新特性-CountDownEvent
2010-06-10 12:56 by Clingingboy, 1366 阅读, 收藏, 编辑
摘要:
也称为反Semaphore 作用:统计其他线程结束工作,监听计数为0时,触发操作.与Semaphore形成对比,Semaphore有最大资源数,当计数为0时(即资源不够用时)则阻塞线程1.Semaph... 阅读全文
.net 4.0新特性-自旋锁(SpinLock)
2010-06-10 10:21 by Clingingboy, 1129 阅读, 收藏, 编辑
摘要:
概念: http://baike.baidu.com/view/1250961.htm?fr=ala0_1_1 http://blog.csdn.net/wzhwho/archive/2009/05/... 阅读全文
.net 4.0新特性-延迟初始化:Lazy(转),ThreadLocal<T>
2010-06-09 22:59 by Clingingboy, 1298 阅读, 收藏, 编辑
摘要:
感谢作者http://www.cnblogs.com/anytao/archive/2009/10/29/must_net_33.html http://www.cnblogs.com/me-sa/archive/2010/05/25/lazy-initialization-fx4.html .net也有ThreadLocal了 http://www.cnblogs.com/tmrcp/archi... 阅读全文
.net 4.0新特性-并行编程(转)
2010-06-09 19:06 by Clingingboy, 588 阅读, 收藏, 编辑
摘要:
感谢作者,辛苦:) .NET 4 并行(多核)编程系列之一入门介绍 .NET 4 并行(多核)编程系列之二 从Task开始 .NET 4 并行(多核)编程系列之三 从Task的取消 .NET 4 并行... 阅读全文
.net 4.0新特性-tuple
2010-06-09 17:02 by Clingingboy, 1516 阅读, 收藏, 编辑
摘要:
功能:动态返回数据结构,可当临时数据结构2.比较以上两个对象参数相同(1)调用默认的Equals方法结果输出为True(2)使用IStructuralEquatable,这个接口为新增,需要一个实现I... 阅读全文
如何用PV原语实现进程间的互斥与同步(转载)
2010-05-15 18:14 by Clingingboy, 5548 阅读, 收藏, 编辑
摘要:
PV原语的含义 P操作和V操作是不可中断的程序段,称为原语。PV原语及信号量的概念都是由荷兰科学家E.W.Dijkstra提出的。信号量sem是一整数,sem大于等于零时代表可供并发进程使用的资源实... 阅读全文
读写锁操作(ReaderWriterLockSlim)
2010-05-13 15:53 by Clingingboy, 1766 阅读, 收藏, 编辑
摘要:
(1) 没问题(2)换成线程顺序出错了 (3)使用读写锁操作ReaderWriterLockSlim使用EnterWriteLock锁定写操作,恢复正常,必须手动退出锁模式,否则将会永远独占ExitWriteLock(4)设置锁超时时间使用Try方法是可以设置锁时间,如果超时的话,则继续执行,但此时则未进入锁定状态,无法用ExitWriteLock退出,可以用RecursiveWriteCount... 阅读全文
NHibernate Step By Step(7)-映射集合类型
2009-08-06 09:37 by Clingingboy, 742 阅读, 收藏, 编辑
摘要:
1.Set 无序不重复对象 如ISet 2.List 可按位索引对象 如IList 3.Map 键值对象,如HashTable 4.Bag 可重复对象 如IList 5.idbag 示例 1.Set<class name="A" table="a" lazy="false"> <id name="Id" column="id" unsaved-value="null"> &... 阅读全文
Lambda表达式练习
2007-04-21 12:39 by Clingingboy, 892 阅读, 收藏, 编辑
摘要:
根据微软的示例代码,体验一下1.准备测试数据 static int[] numbers = new int[] { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; static string[] strings = new string[] { "zero", "one", "two", "three", "four", "five", "six", "s... 阅读全文
Windows Workflow Foundation Web Workflow Approvals Starter Kit
2007-04-08 23:15 by Clingingboy, 1447 阅读, 收藏, 编辑
摘要:
微软又发布了一个Starter Kit,关于Windows Workflow Foundation在asp.net的运用,今天晚上看了下Windows Workflow Foundation,还挺有意思的.有兴趣的朋友可以去下载过来看看下载地址 阅读全文
c#泛型学习(二)
2006-05-11 16:22 by Clingingboy, 905 阅读, 收藏, 编辑
摘要:
1.泛型和泛型强制转换 1using System; 2using System.Collections.Generic; 3using System.Text; 4 5namespace VS2005Demo2 6{ 7 8 C# 编译器只允许将泛型参数隐式强制转换到 Object 或约束指定的类型#region C# 编译器只允许将泛型参数隐式强制转换到 Object 或约束指定的类... 阅读全文
c#2.0泛型学习(一)
2006-05-11 16:16 by Clingingboy, 1211 阅读, 收藏, 编辑
摘要:
根据微软的视频教程"跟我一起学Visual Studio 2005C#语法篇"来学,因为里面有比较多的代码示例,学起来比较容易好理解1.未使用泛型的Stack类 1using System; 2 3public class Stack 4{ 5 readonly int m_Size; 6 int m_StackPointer = 0; 7 object[] m_It... 阅读全文