C#
游子2022
曾子曰:“吾日三省吾身:为人谋而不忠乎?与朋友交而不信乎?传不习乎?”
展开
-
C# 调用C++回调函数
转载自:http://www.cnblogs.com/dipwater/archive/2012/11/07/dipwater_delegate.htmlC# 调用C++回调函数过程如下:1. 定义回调函数对应的委托1 [UnmanagedFunctionPointerAttribute(CallingConvention.StdCall, CharSet = CharSe转载 2017-07-20 09:16:10 · 3104 阅读 · 0 评论 -
C# Serializable
转载自:http://www.cnblogs.com/zwl12549/archive/2007/08/14/854718.htmlC# SerializableSystem.SerializableAttribute串行化是指存储和获取磁盘文件、内存或其他地方中的对象。在串行化时,所有的实例数据都保存到存储介质上,在取消串行化时,对象会被还原,且不能与其原实例区别开来转载 2017-05-31 09:41:21 · 721 阅读 · 0 评论 -
C#中out和ref之间的区别
转载自:http://www.cnblogs.com/gsk99/archive/2010/12/13/1904557.html首先:两者都是按地址传递的,使用后都将改变原来参数的数值。其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。这个就是两个的区别,或者说就像有的网友说的,r转载 2017-05-31 20:07:13 · 253 阅读 · 0 评论 -
Server.MapPath
转载自:http://www.cnblogs.com/Showshare/archive/2007/04/23/723965.html老是忘记Server.MapPath的使用方法了,下面记录一下,以备后用:总注:Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径1、Server.MapPath("/")注:获得应用程序根目录所在的位置,如 C:\I转载 2017-06-05 09:51:52 · 414 阅读 · 0 评论 -
C# 导入dll时CallingConvention的设置问题
转载自:http://www.xuebuyuan.com/645807.html#调用非托管的.dll文件方法如下: [DllImport("XORDll.dll", EntryPoint = "OutEncrypt", CharSet = CharSet.Ansi, CallingConvention转载 2017-06-04 17:33:42 · 19433 阅读 · 2 评论 -
C#委托的介绍(delegate、Action、Func、predicate)
转载自:http://www.cnblogs.com/akwwl/p/3232679.htmlC#委托的介绍(delegate、Action、Func、predicate) 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。 1.委托的声明 (1). delegate delegate我们常用到转载 2017-05-10 12:15:12 · 212 阅读 · 0 评论 -
C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别
转载自:http://www.cnblogs.com/leolis/p/3968943.html在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为整型(int)来讲,有四种方法:分别为(int)、int.Parse()、int.TryParse()和Convert.ToInt32(),那么这四种方法对被转换对象有什么限制,以及各自之间有什么区别呢?相信很多童转载 2017-05-09 09:51:38 · 314 阅读 · 0 评论 -
C#中ArrayList.ToArray()用法
转载自:http://blog.csdn.net/kj297296053/article/details/9474959概述这篇文章解释如何使用最简单的方法把Array转换成ArrayList和相反的转换。使用的.NET类System.Collections.ArrayList 介绍操作数组是应用开发中最普通的任务之一。有时你需要使用一组对象来获得操作对象的属转载 2017-05-17 14:25:09 · 8209 阅读 · 0 评论 -
C#中数组、ArrayList和List三者的区别
转载自:http://blog.csdn.net/zhang_xinxiu/article/details/8657431在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢。数组 数组在C#中最早出现的。在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单。[csharp] vi转载 2017-05-17 12:54:53 · 283 阅读 · 0 评论 -
C#中StringBuilder类的使用总结
转载自:http://www.jb51.net/article/45832.htmString 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System转载 2017-05-17 09:04:24 · 4093 阅读 · 0 评论 -
C#读取文件demo
1.新建一个控制台运用程序ConsoleApplication32.在工程下新建一个txt文档命名为Hello.txt,在文档中输入一些文字如图:3在工程的Program.cs文件中:using System;using System.Collections.Generic;using System.Linq;using System.Text;using Syst原创 2017-04-23 20:14:13 · 1237 阅读 · 0 评论 -
C# Lock
转载自:http://blog.csdn.net/vincent_zhanglb/article/details/7170447最近在研究.NET分布式缓存代码,正好涉及Lock,看了网上的文章,总结了一些Lock相关的知识,供大家一起学习参考。 一、Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。它可以把一段代码定义为互斥段(cr转载 2017-06-01 09:39:36 · 380 阅读 · 0 评论 -
C# Synchronized
转载自:http://blog.csdn.net/zztfj/article/details/5640889Synchronized vs SyncRoot 我们知道,在.net的一些集合类型中,譬如Hashtable和ArrayList,都有Synchronized静态方法和SyncRoot实例方法,他们之间有联系吗?我怎么才能用好他们呢?我们以Hashtable为例,看看他们的基本转载 2017-05-31 09:44:57 · 7144 阅读 · 0 评论 -
C# volatile
转载自:http://blog.csdn.net/lonestar555/article/details/49025169volatile是C#中用于控制同步的关键字,其意义是针对程序中一些敏感数据,不允许多线程同时访问,保证数据在任何访问时刻,最多有一个线程访问,以保证数据的完整性,volatile是修饰变量的修饰符。1、volatile的使用场景多个线程转载 2017-05-31 09:47:17 · 1782 阅读 · 1 评论 -
C# 特性详解
C# 特性详解 特性(attribute)是被指定给某一声明的一则附加的声明性信息。 在C#中,有一个小的预定义特性集合。在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来看看在我们的代码中如何使用预定义特性。 1 using System; 2 public class AnyClass 3 { 4转载 2017-02-25 12:10:22 · 971 阅读 · 0 评论 -
C# WeakReference
转载自:http://www.cnblogs.com/bayonetxxx/archive/2009/06/02/1494728.html我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的。我们能不能同时保持对对象的引用,而又可以让GC需要的时候回收这个对象呢?.NET中提供了WeakReference来实现。弱引用可以让您保持对对象的引用,同时允许GC在转载 2017-06-13 09:30:22 · 998 阅读 · 0 评论 -
初识IntPtr
转载自:http://blog.csdn.net/qcontriver/article/details/9455481近来研究指针,在C#中谈指针,就不得不谈IntPtr,以下是我对IntPtr的初步了解,一些基础。一:什么是IntPtr先来看看MSDN上说的:用于表示指针或句柄的平台特定类型。这个其实说出了这样两个事实,IntPtr 可以用来表示指针或句柄转载 2017-06-12 20:07:20 · 506 阅读 · 0 评论 -
C#调用dll的简单demo(2)--反射
1.新建C#控制台运用程序,工程名为ConsoleApplication2。2.工程建好后,点击菜单栏的文件按钮,弹出框选择添加->新建项目->类库,项目名为ClassLibrary13.在ClassLibrary1的Class1.cs文件中添加静态函数 public static void Hello() { Console.WriteL原创 2017-04-23 17:36:32 · 2302 阅读 · 0 评论 -
C#调用dll的简单demo(托管)
1.新建一个类型为类库的工程,默认的工程名为ClassLibrary1,我这里就不改了2.添加函数: public static void Hello() { Console.WriteLine("Hello World!"); }3.如图:4.选择菜单栏生成->生成ClassLibrary1,然后在bin目录下的debug目录原创 2017-04-23 15:20:07 · 4254 阅读 · 0 评论 -
C# typeof() 和 GetType()区别
转载自:http://blog.csdn.net/letianok/article/details/7257117总得来说他们都是为了获取某个实例具体引用的数据类型System.Type。1、GetType()方法继承自Object,所以C#中任何对象都具有GetType()方法,x.GetType(),其中x为变量名2、typeof(x)中的x,必须是具体的类名、类型转载 2017-06-09 09:39:19 · 17327 阅读 · 0 评论 -
c#之线程同步浅析(1)-----轻量级同步Interlocked
转载自:http://blog.csdn.net/kkfdsa132/article/details/5474013在c#里面,实现线程同步方法有很多种。我了解到的至少有8种。这里先讲下,一种比较简单的同步方法-------轻量级同步Interlock。 为什么说它是轻量级呢?因为它仅对整形数据(即int类型,long也行)进行同步。如果你学过操作系统里面的PV操作(即信转载 2017-05-31 20:21:08 · 1169 阅读 · 0 评论 -
C# 枚举
转载自:http://www.cnblogs.com/xiaofeixiang/p/3872142.html写个随笔文章是最难想的,我要是写个C#枚举个人小结,估计博客园的各位园有也觉得是哪个刚接触C#的人写的,要是取个名字叫C#枚举,又觉得不能完全表达自己的意思,现在这个名字看起来还凑合吧,写篇文章不容易,大家且看且珍惜,文章的开头废话依然是很多,大家就将就一下,说个小事情,我个人写转载 2017-06-06 19:28:07 · 296 阅读 · 0 评论 -
C#——Marshal.StructureToPtr方法简介
转载自:http://blog.csdn.net/livelylittlefish/article/details/2423764本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一、小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!转载 2017-06-05 19:02:51 · 1258 阅读 · 0 评论 -
C# MarshalAs
转载自:http://blog.csdn.net/xiaobai1593/article/details/7025775参考:http://blog.sina.com.cn/s/blog_4e4ee8ed0100elou.html作用:MarshalAs属性指示如何在托管代码和非托管代码之间封送数据。使用方法:[MarshalAs(UnmanagedTy转载 2017-06-05 20:58:19 · 12211 阅读 · 0 评论 -
Marshal.SizeOf和sizeof的区别
转载自:http://www.cnblogs.com/jxnclyk/archive/2010/06/09/1754438.htmlMarshal.SizeOf和sizeof的区别sizeof在非Unsafe环境下只能用于预定义的一系列类型,如Int,Short等等。而在Unsafe环境下,sizeof可以被用于值类型,但是值类型中不可以有引用类型,否则C#编译器会报错转载 2017-06-05 18:50:20 · 1382 阅读 · 0 评论 -
C#中DllImport用法汇总
最近使用DllImport,从网上google后发现,大部分内容都是相同,又从MSDN中搜集下,现将内容汇总,与大家分享。大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功能呢?答案是肯定的,大家可以通过C#中的DllImport直接调用这转载 2017-04-16 11:07:35 · 2016 阅读 · 0 评论 -
C#反射Assembly 详细说明
转载自:http://blog.csdn.net/lyncai/article/details/86218801、对C#反射机制的理解2、概念理解后,必须找到方法去完成,给出管理的主要语法3、最终给出实用的例子,反射出来dll中的方法反射是一个程序集发现及运行的过程,通过反射可以得到*.exe或*.dll等程序集内部的信息。使用反射可以看到一个程序集内部的接口、类、方法转载 2017-04-14 20:48:46 · 4774 阅读 · 0 评论 -
Assembly.Load,Assembly.LoadFrom,Assembly.LoadFile的简单用法
一.Assembly.Load直接查看public static Assembly Load(AssemblyName assemblyRef)函数的摘要是这样写的:通过给定程序集的长格式名称加载程序集。例子:Assembly ass = Assembly.Load("ClassLibrary1");二.LoadFrom直接查看public static Ass原创 2017-04-23 17:57:22 · 1550 阅读 · 0 评论 -
C#中使用LuaInterface
转载自:http://www.cnblogs.com/sifenkesi/p/3901831.htmlLua是一种很好的扩展性语言,Lua解释器被设计成一个很容易嵌入到宿主程序的库。LuaInterface则用于实现Lua和CLR的混合编程。CLR常用简写词语,CLR是公共语言运行库(Common Language Runtime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分转载 2017-04-16 10:05:46 · 3992 阅读 · 2 评论 -
详解C#中的反射
两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反射,然后把“回音”进行处理就可以显示出内脏的情况了(我不是医生也不是声学专家,不知说得是否准确^_^)。2、地球内部结构:地球的内部结构大体可以分为三层:地壳、地幔和转载 2017-04-13 09:39:46 · 182 阅读 · 0 评论 -
C#中static
转载自:http://www.jb51.net/article/56527.htm这篇文章主要介绍了C#静态static的用法,以实例形式较为深入的分析了静态类、静态变量、静态方法以及静态构造函数的特性与用法,需要的朋友可以参考下本文实例讲述了C#静态static的用法,分享给大家供大家参考。具体用法分析如下:一、静态类静态类与非静态类的重要区别在于静态类不能实转载 2017-03-26 19:48:09 · 241 阅读 · 0 评论 -
C#关于System.Collections空间详解
C#的System.Collections命名空间包含可使用的集合类和相关的接口,提供了集合的基本功能。包括了.NET下的非泛型集合类以及非泛型接口等,现详述如下:该命名空间下的.NET非泛型集合类如下所示:— System.Collections.ArrayList:数组集合类,使用大小可按动态增加的数组实现Ilist接口。— System.Collections.BitAr转载 2017-03-26 18:19:23 · 8637 阅读 · 0 评论 -
C#中New关键字的三种用法
三种用法如下: 在 C# 中,new 关键字可用作运算符、修饰符或约束。 1)new 运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。 2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。 3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。 关于第二种用法看下例:转载 2017-03-26 17:28:10 · 9612 阅读 · 1 评论 -
c#调用脚本语言Lua——简单Demo
c#调用脚本语言Lua——简单Demo配置:1. 下载c#下的Lua支持类库。下载地址:http://files.luaforge.NET/releases/luainterface/luainterface/2.0.3将(lua51.dll\LuaInterface.dll)引用自己的项目中。2. 修改App.config添加以下内容:[html] vie转载 2017-04-09 20:43:03 · 779 阅读 · 0 评论 -
C#中IList<T>与List<T>的区别深入解析
写代码时对:IList IList11 =new List ();List List11 =new List ();有所疑惑,于是在网上搜索一下,很受启发,于是收藏下来,但对部分观点不敢苟同,用红色字体标明我的看法!首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口。它仅仅是所有泛型类型的接口,并没有太多方法可以方便实转载 2017-03-29 09:09:50 · 3644 阅读 · 0 评论 -
C#中的Delegate
转载自:http://www.cnblogs.com/hyddd/archive/2009/07/26/1531538.html引言 Delegate是Dotnet1.0的时候已经存在的特性了,但由于在实际工作中一直没有机会使用Delegate这个特性,所以一直没有对它作整理。这两天,我再度翻阅了一些关于Delegate的资料,并开始正式整理这个C#中著名的特性。本文将由转载 2017-03-26 21:17:46 · 250 阅读 · 0 评论 -
C#中Dictionary的用法
转载自:http://jingyan.baidu.com/article/9989c7460ab872f648ecfeed.html在C#中,Dictionary提供快速的基于兼职的元素查找。他的结构是这样的:Dictionary ,当你有很多元素的时候可以使用它。它包含在System.Collections.Generic名空间中。在使用前,你必须声明它的键类型和值类转载 2017-03-26 17:33:03 · 212 阅读 · 0 评论 -
网络编程基础(1)
四个基础类:1.Dns类,2.IPAddress类,3.IPEndPoint类,4.WebClient类1.Dns类是一个静态类,它从Internet域名系统(DNS)检索关于特定主机的信息。设计界面,然后是确定按钮的代码如下:using System;using System.Collections.Generic;using System.ComponentModel;原创 2017-02-25 13:07:45 · 285 阅读 · 0 评论 -
C#流(stream)
C#流(stream)流用于对IO处理 在System.IO名称空间中有以下类 BinaryReader/Writer TextReader/Writer Stream 其中类Stream为抽象类。由此有三个派生类: MemoryStream:对内存进行读取与写入 BufferedStream:对缓冲器进行读取/写入转载 2017-02-25 17:25:50 · 2481 阅读 · 0 评论 -
C#里partial关键字的作用(转摘)
1. 什么是局部类型?C# 2.0 引入了局部类型的概念。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。局部类型适用于以下情况:(1) 类型特别大,不宜放在一个文件中实现。(2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。(3) 需要多人合作编写一个类。局部类型是一个纯语言层的编译转载 2017-02-25 09:41:52 · 338 阅读 · 0 评论