随笔 - 657  文章 - 4  评论 - 213  阅读 - 432万
09 2011 档案
C#各种进制之间数据转换二进制、八进制、十进制、十六进制
摘要:补充:C#实现2进制、8进制、10进制、16进制自由转换在.NET Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换:Convert.ToInt32(string value, int fromBase):可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:如Convert.ToInt32(”0010”,2)执行的结果为2;Convert.ToString(int value, int toBase):可以把一个数字转换为不同进制数值的字符串格 阅读全文
posted @ 2011-09-30 15:36 一路前行 阅读(1118) 评论(0) 推荐(0) 编辑
C#结构体和字节数组的相互转化(转)
摘要:publicstaticclassStructCopyer{//相当于序列化与反序列化,但是不用借助外部文件//1、struct转换为Byte[]publicstaticByte[]StructToBytes(Objectstructure){Int32size=Marshal.SizeOf(structure);IntPtrbuffer=Marshal.AllocHGlobal(size);try{Marshal.StructureToPtr(structure,buffer,false);Byte[]bytes=newByte[size];Marshal.Copy(buffer,bytes 阅读全文
posted @ 2011-09-30 13:32 一路前行 阅读(730) 评论(0) 推荐(1) 编辑
十六进制String跟十六进制Byte数组转换
摘要:///<summary>///十进制字符串转换为十六进制///</summary>///<paramname="strCharSet"></param>///<returns></returns>publicstringTensStringToHexString(stringstrCharSet){StringBuilderstrbCharSet=newStringBuilder();char[]charArray=strCharSet.ToCharArray();for(inti=0;i<cha 阅读全文
posted @ 2011-09-30 09:44 一路前行 阅读(405) 评论(0) 推荐(1) 编辑
C#与C++类型对应表
摘要:在使用.Net互操作时,经常涉及到一些C++到C#的类型转换问题,为了以后方便查询,现将一些资源整理如下: C++与C#数据类型对照表 C++数据类型 C#数据类型 WORD ushort DWORD uint UCHAR int/byte UCHAR* string/InPtr unsigned 阅读全文
posted @ 2011-09-29 18:15 一路前行 阅读(7664) 评论(3) 推荐(4) 编辑
什么时候使用“静态方法”(转)
摘要:我们知道,一个类的方法从调用方式上可以分为“静态方法”与“非静态方法”(实例方法)。在.net框架中,也有很多这种公共静态方法。现在我想讨论一下,一个类为什么要提供静态方法以及在什么时候应该提供静态方法。 静态方法与非静态方法最明显的区别就是如果某个方法是公共静态的,那么可以直接 通过类名.方法名的方法来调用,而公共实例方法则需要事先实例化对象,然后才能调用。很多人认为静态方法来速度上、在内存占用比值上要比实例方法快和多, 这一点我不认同。方法执行的快与慢在同等条件... 阅读全文
posted @ 2011-09-28 13:51 一路前行 阅读(692) 评论(0) 推荐(1) 编辑
WeiFenLuo.winFormsUI.Docking.dll的使用(转)
摘要:1.建立一个WinForm工程,默认生成了一个WinForm窗体Form1。 2.引用—>添加引用—>浏览—>weiFenLuo.winFormsUI.Docking.dll。 3.窗体属性IsMdiContainer:True。 4.工具箱—>右键—>选择项—>.net组件—>浏览—>weiFenLuo.winFormsUI.Docking.dll—>在工具箱出现dockPanel。 5.将dockPanel拖到窗体Form1上,设置Dock属性,我设置的是:Fill。 停靠窗体: 1.新建一个WinForm窗体Form2。 2.在代码中 阅读全文
posted @ 2011-09-27 17:13 一路前行 阅读(356) 评论(0) 推荐(0) 编辑
MarshalAs属性和使用(转)
摘要:[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1)]MarshalAs属性指示如何在托管代码和非托管代码之间封送数据。当MarshalAsAttribute.Value设置为 ByValArray 时,必须设置SizeConst以指示数组中的元素数。当需要区分字符串类型时,ArraySubType字段可以选择包含数组元素的 UnmanagedType。此 UnmanagedType 只可用于作为结构中的字段的数组。 而SizeConst则是指数组中的元素个数。UnmanagedType是一个枚举类型,可参考MSDN进行查询:http://ms 阅读全文
posted @ 2011-09-23 10:51 一路前行 阅读(1258) 评论(0) 推荐(0) 编辑
StructLayout(LayoutKind.Sequential)(转)
摘要:结构体是由若干成员组成的.布局有两种1.Sequential,顺序布局,比如struct S1{int a;int b;}那么默认情况下在内存里是先排a,再排b也就是如果能取到a的地址,和b的地址,则相差一个int类型的长度,4字节[StructLayout(LayoutKind.Sequential)]struct S1{int a;int b;}这样和上一个是一样的.因为默认的内存排列就是Sequential,也就是按成员的先后顺序排列.2.Explicit,精确布局需要用FieldOffset()设置每个成员的位置这样就可以实现类似c的公用体的功能[StructLayout(Layout 阅读全文
posted @ 2011-09-23 10:38 一路前行 阅读(256) 评论(0) 推荐(0) 编辑
c# 引用类型和值类型区别(转)
摘要:解析:CLR支持两种类型:值类型和引用类型。用Jeffrey Richter(《CLR via C#》作者)的话来说,“不理解引用类型和值类型区别的程序员将会把代码引入诡异的陷阱和诸多性能问题”。这就要求我们正确理解和使用值类型和引用类型。值类型包括C#的基本类型(用关键字int、char、float等来声明),结构(用struct关键字声明的类型),枚举(用enum关键字声明的类型);而引用类型包括类(用class关键字声明的类型)和委托(用delegate关键字声明的特殊类)。C#中的每一种类型要么是值类型,要么是引用类型。所以每个对象要么是值类型的实例,要么是引用类型的实例。值类型的实例 阅读全文
posted @ 2011-09-22 15:18 一路前行 阅读(250) 评论(0) 推荐(0) 编辑
VC中Error spawning cl.exe错误的解决方法(转)
摘要:可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的 “Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的 选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录/VC98/Bin”下面, 你可以到相应的路径下找到这个应用程序。方法一:因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)” —>“Directories(目录)”重新设置“Excutable Fils、Incl 阅读全文
posted @ 2011-09-19 10:36 一路前行 阅读(231) 评论(0) 推荐(0) 编辑
visual studio 2010打包.net 3.5 sp1
摘要:利用visual studio 2010进行打包程序,默认安装的是Framework 4.0,如果需要将3.5sp1打包到系统中一起安装(选择了"从与我的应用程序相同的位置下载系统必备组件"时),会提示很多诸如此类错误“系统必备组件的安装位置未设置为“组件供应商的网站”,无法在磁盘上找到项“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1/DotNetFX35/x64/dotnetfx35langpack_x64zh-CHS.exe”。原因分析:原因是在相应文件夹下面,找不到.net 3.5 sp1的相关模块。解决方法:通过网络可以查到vi 阅读全文
posted @ 2011-09-15 11:30 一路前行 阅读(937) 评论(0) 推荐(0) 编辑
存储过程添加事务
摘要:CREATEPROCEDUREP_Procasbegintransetxact_abortonInsertIntotrantest(id,test)values(1,'test')InsertIntotrantest(id,test)values(2,'test')committranGOsetxact_aborton表示遇到错误立即回滚当然你也可以这么写CREATEPROCEDUREPR_Pasbegintraninsertintotrantest(id,test)values(1,'test')if(@@error<>0)roll 阅读全文
posted @ 2011-09-01 18:37 一路前行 阅读(295) 评论(1) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示