随笔分类 -  C#资料

C#开发资料、技巧
摘要:C# 文件操作(摘抄) ——选自《c# 编程兵书》第11章 张志强 胡君 编著 11 文件操作概述 11.1 驱动器 在Windows操作系统中,存储介质统称为驱动器,硬盘由于可以划分为多个区域,每一个区域称为一个驱动器。.NET Framework提供DriveInfo类和 DriveType枚举 阅读全文
posted @ 2020-11-12 10:21 风雪江山 阅读(524) 评论(0) 推荐(0)
摘要:在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用 where 上下文关键字指定的。下面列出了六种类型的约束:约束说明T:结构 类型参数必须是值类型。可以指定除 Nu 阅读全文
posted @ 2020-10-26 10:07 风雪江山 阅读(3696) 评论(0) 推荐(0)
摘要:最近在学历基类的写法时,遇到了一个问题:如何怎么创建一个泛型类T的实例呢? 废话不多说了,直接上代码吧,目前发现三种方法,先贴上,以后再总结,希望能帮助跟我遇到同样问题的朋友。 方法一,通过外部方法传入的实例来实例化: //泛型类: public class MySQLHelp<T> { priva 阅读全文
posted @ 2020-10-26 10:05 风雪江山 阅读(4482) 评论(0) 推荐(0)
摘要:“反射”其实就是利用程序集的元数据信息。 反射可以有很多方法,编写程序时请先导入 System.Reflection 命名空间。 1、假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型): Assembly assembly = Assembly.LoadFile("程序集路径,不能是相 阅读全文
posted @ 2020-04-28 22:45 风雪江山 阅读(347) 评论(0) 推荐(0)
摘要:c#提供的ling查询极大的遍历了集合的查询过程,且使用简单方便,非常的有用。 下面将分别用简单的例子说明:ling基本查询、延迟查询属性、类型筛选、复合from字句、多级排序、分组查询、联合查询、合并、分页、聚合操作符、并行linq、取消长时间运行的并行ling查询。 Lambda表达式简介: / 阅读全文
posted @ 2020-04-03 15:22 风雪江山 阅读(671) 评论(0) 推荐(0)
摘要:typeof typeof是运算符,获取某一类型的 System.Type 对象。 typeof()的参数只能是int,string,String,自定义类型,且不能是实例。 Type t = typeof(int); GetType() 方法,获取当前实例的类型。 int i = 10; Cons 阅读全文
posted @ 2020-04-03 14:13 风雪江山 阅读(799) 评论(0) 推荐(0)
摘要:Assembly, 这里把它翻译为配件或程序集, 以示和组件(Component)加以区别。一个配件有时候是指一个EXE或者DLL文件, 实际上是一个应用程序(就是指带有主程序入口点的模块)或者一个库文件。但是配件实际上可以是由一个或者多个文件组成(dlls, exes, html等等), 代表一组 阅读全文
posted @ 2020-04-02 23:17 风雪江山 阅读(15718) 评论(0) 推荐(0)
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace 阅读全文
posted @ 2020-03-28 16:47 风雪江山 阅读(3021) 评论(0) 推荐(0)
摘要:where 子句用于指定类型约束,这些约束可以作为泛型声明中定义的类型参数的变量。 1.接口约束。 例如,可以声明一个泛型类 MyGenericClass,这样,类型参数 T 就可以实现 IComparable<T> 接口: public class MyGenericClass<T> where 阅读全文
posted @ 2020-03-27 10:58 风雪江山 阅读(3250) 评论(0) 推荐(0)
摘要:例: 实体类: 创建数据库 更新数据 第一种方法: 先查询记录,然后修改相应的属性。此方法虽然多了一个查询步骤,但是也由此利用了EF的自动跟踪功能,后续操作比较方便。 比如,生成的SQL语句只会去修改相应的修改过的字段。 而且经测试发现,如果实体属性值没有改变,不会生成SQL语句,比如将下面的代码执 阅读全文
posted @ 2019-11-07 14:07 风雪江山 阅读(4974) 评论(1) 推荐(0)
摘要:IDE:Visual Studio 2008 本系列教程主要包括如下内容:1. BeginInvoke和EndInvoke方法 2. Thread类 3. 线程池 4. 线程同步基础 5. 死锁 6. 线程同步的7种方法 7. 如何在线程中访问GUI组件 一、线程概述 在操作系统中一个进程至少要包含 阅读全文
posted @ 2019-08-01 23:51 风雪江山 阅读(347) 评论(0) 推荐(0)
摘要:在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate,至于委托的本质请参考我的另一随笔:对.net事件的看法。 一、为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次 阅读全文
posted @ 2019-08-01 23:20 风雪江山 阅读(271) 评论(0) 推荐(0)
摘要:<TextBlock Text="阴影效果" FontSize="32"> <TextBlock.Effect> <DropShadowEffect Color="Black"></DropShadowEffect> </TextBlock.Effect> </TextBlock> 阅读全文
posted @ 2018-11-03 16:48 风雪江山 阅读(118) 评论(0) 推荐(0)
摘要:WPF阴影效果(DropShadowEffect) <TextBlock Text="阴影效果" FontSize="32"> <TextBlock.Effect> <DropShadowEffect Color="Black"></DropShadowEffect> </TextBlock.Eff 阅读全文
posted @ 2018-11-03 16:41 风雪江山 阅读(536) 评论(0) 推荐(0)
摘要:c#中有四种定时器 1:System.Threading.Timer 使用: private System.Threading.Timer timerClose; timerClose = new System.Threading.Timer(new TimerCallback(timerCall) 阅读全文
posted @ 2018-10-24 23:06 风雪江山 阅读(11009) 评论(0) 推荐(1)
摘要:C# byte 和 char 可以认为是等价的。但是在文本显示的时候有差异。 c# 使用的是unicode字符集,应该和为ascii相互转换 只能转换到字符的unicode编码,或者由unicode编码转换为字符转换方法如一楼所写字符变数字char a='a';int ua=(int)a;//字符变 阅读全文
posted @ 2018-10-23 13:15 风雪江山 阅读(28811) 评论(0) 推荐(0)
摘要:string类型转成byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); byte[]转成string: string str = System.Text.Encoding.Default.GetStrin 阅读全文
posted @ 2018-10-23 10:16 风雪江山 阅读(18934) 评论(0) 推荐(2)
摘要:C# 指针操作相关 // ** 取int 地址 以指针访问指向值 ** // int size = Marshal.SizeOf(typeof(HLC2_OUT_DATA)); int* pInt = &size; _syslog((*pInt).ToString()); // ** string 阅读全文
posted @ 2018-10-22 14:26 风雪江山 阅读(1446) 评论(0) 推荐(0)
摘要:一:什么是IntPtr 先来看看MSDN上说的:用于表示指针或句柄的平台特定类型。这个其实说出了这样两个事实,IntPtr 可以用来表示指针或句柄、它是一个平台特定类型。对于它的解释,这个哥们写的比较好:It's a class that wraps a pointer that is used w 阅读全文
posted @ 2018-10-22 11:41 风雪江山 阅读(14765) 评论(0) 推荐(3)
摘要:C#中指针使用总结 C#为了类型安全,默认并不支持指针。但是也并不是说C#不支持指针,我们可以使用unsafe关键词,开启不安全代码(unsafe code)开发模式。在不安全模式下,我们可以直接操作内存,这样就可以使用指针了。在不安全模式下,CLR并不检测unsafe代码的安全,而是直接执行代码。 阅读全文
posted @ 2018-10-22 11:36 风雪江山 阅读(20446) 评论(1) 推荐(2)