C#
文章平均质量分 56
nodeathphoenix
这个作者很懒,什么都没留下…
展开
-
托管和CLR
托管是.NET的一个专门概念,它倡导一种新的编程理念,因此我们完全可以把“托管”视为“.NET”。由托管概念所引发的C++应用程序包括托管代码、托管数据和托管类三个组成部分: (1) 托管代码:.Net环境提供了许多核心的运行(RUNTIME)服务,比如异常处理和安全策略。为了能使用这些服务,必须要给运行环境提供一些信息代码(元数据),这种代码就是托管代码。所有的C#、VB.NET、J原创 2012-03-02 11:50:25 · 1034 阅读 · 0 评论 -
为什么引用类型string的行为却是值类型
首先,我们需要知道string的如下特性: 1.字符串做参数,传递的是引用,只是一个指针的复制,你修改参数的指向,影响不到调用它的函数中的那个指针所指向的内容2.字符串不可修改。你以任何一种形式修改了字符串(+,=等操作),源字符串其实还在的,只是根据你的修改重新生成了一个新的字符串3.如果需要修改,两种方案,一是将修改后的字符串返回;二是作参数传字符串时使用 ref 传递,这样子函数原创 2012-03-02 11:24:39 · 1942 阅读 · 0 评论 -
C#反射的作用
问:我看了些反射的资料有些不懂 反射是动态获取程序集中的对象 属性 方法 然后去调用 但是如果有了程序集 为什么不直接调用 而是用发射去调用呢我觉得下面这个回答让我似乎懂了点!?答:反射不需要引用只要知道你的dll所在的位置,dll文件的名称,内部的方法名就可以GetMethod来获取方法 就可以直接拿来用和引用差不多,楼主的意思是,我既然可以引用进来直接使用,为什么还要用转载 2014-03-24 15:20:29 · 1006 阅读 · 1 评论 -
正则表达式30分钟入门教程
本文目标如何使用本教程正则表达式到底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负向零宽断言注释贪婪与懒惰处理选项平衡组/递归匹配还有些什么东西没提到联系作者网上的资源及本文参考文献更新纪录本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果转载 2014-07-30 10:43:46 · 633 阅读 · 0 评论 -
c# 托盘程序编程
先后在C# Windos Form和WPF项目中涉及到了托盘编程,最近闲来总结了一下。C# Form通过标准的NotifyIconEx控件:弹出tooltip,可以直接通过Shell_NotifyIcon为标准的tooltip设置了szTip值来弹出标准的tooltip(当鼠标放到状态栏上的托盘图标上时弹出);弹出气泡,可以直接通过Shell_NotifyIcon为标准原创 2017-02-27 12:50:29 · 916 阅读 · 0 评论 -
c# delegate
最近换了份新工作,开发的重心从我最爱的c++转移到c#了。以前虽然说也写过c#的代码,但是现在发现对c#的理解和使用还是比较初级,有必要进一步学些下。C# Delegatedelegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。与其它的类不同,delegate类能够拥有一个签名(signature),并且它只能持有与它的签名相匹配转载 2017-08-26 17:57:13 · 1525 阅读 · 0 评论 -
c# 闭包
引用 http://www.cnblogs.com/zhouandke/p/5870257.html1. 首先要说明的是, delegate 被编译器 编译成一个class, 所以才能传来传去(具体参考 《CLR via C#》第四版), 所以 Action、Func也是如此2. 在C#中,原来闭包只是编译器玩的花招而已,它仍然没有脱离.NET对象生命周期的规则,它将需要修改作用域转载 2017-08-26 20:02:04 · 1628 阅读 · 0 评论 -
理解c#中的闭包
引用:http://www.cnblogs.com/jiejie_peng/p/3701070.html闭包的概念内层的函数可以引用包含在它外层的函数的变量,即使外层函数的执行已经终止。但该变量提供的值并非变量创建时的值,而是在父函数范围内的最终值。闭包的优点使用闭包,我们可以轻松的访问外层函数定义的变量,这在匿名方法中普遍使用。比如有如下场景,在winform转载 2017-08-26 20:06:41 · 706 阅读 · 0 评论 -
c# Add Web Reference和Add Service Reference添加webservice的区别之一
1 Add Web Reference 根据wsdl文件,按照老的asp.net webservice客户访问机制,生成webservice代理类的方法,即从System.Web.Services.Protocols.SoapHttpClientProtocol派生而来,代理类代码可以指定要访问的Url属性。2 Add Service Reference 根据wsdl原创 2013-06-05 11:33:52 · 7487 阅读 · 0 评论 -
在IIS中寄宿服务
通过前两篇的学习,我们了解了如何搭建一个最简单的WCF通信模型,包括定义和实现服务协定、配置服务、寄宿服务、通过添加服务引用的方式配置客户端并访问服务。我们对WCF的编程生命周期有了一个最基本的了解。 在前两篇中演示的例子,一定要力求背着做下来,包括源程序、配置文件都要背着一行行的手写下来,这样才能有深刻的体会。WCF的知识零散复杂,必须扎扎实实的学习和练习。如果你还没有做到了然于胸,现在转载 2012-12-26 16:06:33 · 3418 阅读 · 0 评论 -
Json格式数据转换
1 数据结构定义[DataContract] public class Person { [DataMember(Order = 0, IsRequired = true)] public string Name { get; set; } [DataMember(Order = 1)] public原创 2012-03-02 13:57:27 · 860 阅读 · 0 评论 -
C# int 转换为byte 的浅析
int x=-28;byte y=(byte)x;C#中byte类型是无符号8位整数类型,值范围为0~255.数字在内存中是按补码的形式存放的,-28 的补码为:11111111 11111111 11111111 11100100那么将x强制转换为byte类型的时候,就会拿到最低的八位 11100100, 并且认为它是一个byte类型,即无符号的整数。这样就得到了1110原创 2012-08-15 17:39:53 · 22878 阅读 · 0 评论 -
System.Text.Encoding 简介
众所周知计算机只能识别二进制数字,如1010,1001。我们屏幕所看到的文字,字符都是和二进制转换后的结果。将我们的文字按照某种规则转换二进制存储在计算机上,这一个过程叫字符编码,反之就是解码。目前存在多种字符编码方式,一组二进制数字根据不同的解码方式,会得到不同的结果,有时甚至会得到乱码。这也就是为什么我们打开网页时有时会是乱码,打开一个文本文件有时也是乱码,而换了一种编码就恢复正常了。CLR中转载 2012-08-15 17:28:50 · 6024 阅读 · 0 评论 -
C#中的char
char 关键字用于声明下表所示范围内的Unicode 字符。Unicode 字符是 16 位字符,用于表示世界上大多数已知的书面语言。类型范围大小.NET Framework 类型charU+0000 到 U+ffff16 位 Unicode 字符原创 2012-08-31 10:10:31 · 4706 阅读 · 0 评论 -
c#指针(unsafe与fixed的使用)
c#在默认情况下生成的都是安全代码,即进行了代码托管(.NET的CLR机制好处之一是 ,进行代码托管,适时的释放内存,程序员便不必考虑资源的回收问题),而此时,指针不能出现在安全代码的编译条件下。 一、unsafe 如果因需要想在c#中使用指针,那么unsafe便是一个通道(当然在使用前,需在项目属性的生成选项中,选择“允许不安全代码”)。example 1:a) 创转载 2012-09-04 15:25:36 · 1362 阅读 · 0 评论 -
Windows Service
我们将研究如何创建一个作为Windows服务的应用程序。内容包含什么是Windows服务,如何创建、安装和调试它们。会用到System.ServiceProcess.ServiceBase命名空间的类。什么是Windows服务? Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合。它没有用户界面,并且也不会产生任何可视输出。任何用户消息都会被写进Wind原创 2012-11-07 10:58:34 · 963 阅读 · 0 评论 -
使用IIS发布WCF服务
上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS2008自带的WCFSVCHost(WCF服务主机)发布WCF服务,以便进行测试。这种VS2008内置的WCFSVCHost只适用于开发人员测试的使用,能进行WCF服务部署。这一篇文章中我们来看一下如何在IIS中部发布我们上一篇中做好的WCF服务。第一步:打开我们上一篇文章中建立的WCF服务项目。 图《1》 第转载 2012-12-26 16:03:40 · 1305 阅读 · 0 评论 -
C#调用动态链接库
之前在百度上找的不全 这个是全的调试通过可用 一、 DLL 与应用程序动态链接库(也称为 DLL ,即为“ Dynamic Link Library ”的缩写)是 Microsoft Windows 最重要的组成要素之一,打开 Windows 系统文件夹,你会发现文件夹中有很多 DLL 文件, Windows 就是将一些主要的系统功能以 DLL 模块的形式实现。动态链接库转载 2013-02-20 17:10:36 · 915 阅读 · 0 评论 -
C#内存泄漏:Event内存泄漏
前言内存泄漏是指:当一块内存被分配后,被丢弃,没有任何实例指针指向这块内存, 并且这块内存不会被GC视为垃圾进行回收。这块内存会一直存在,直到程序退出。C#是托管型代码,其内存的分配和释放都是由CLR负责,当一块内存没有任何实例引用时,GC会负责将其回收。既然没有任何实例引用的内存会被GC回收,那么内存泄漏是如何发生的?内存泄漏示例为了演示内存泄漏是如何发生的,我们来看一段代码...转载 2018-11-26 16:26:54 · 1954 阅读 · 0 评论