最近的文章列表

C#去除byte[]转换成字符串后byte为null的“空格”
ASCII码表信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是美国信息交换标准代码。八进制十六进制十进制字符八进制十六进制十进制字符00000nul1004064@01011soh1014165A02022stx1024266B03033etx1034367C04044eot1044468D05055enq1054569E06066ack1064670F07077bel1074771G10088bs1104872H11099ht1114973I1
2011/7/20 Comments:
C#中的除法和四舍五入运算
1.除法运算当你使用以下代码:double d = 3/6;Console.WriteLine(d);时,得到的结果会是0,而不是你期望的0.5此时C#将3当作整数来处理了,结果它也会返一个整数。所以,你应该将这一句改为double d = 3.0/6;或者double d = Convert.toDouble(3)/6;或者double d = (double)3/6;都可以得到你期望的0.52.四舍五入运算在C#中没有四舍五入,只有四舍六入五成双四舍六入好理解,五成双的含义是系统会往一个比较接近的偶数上靠。例如四舍 Math.Round(3.624,2) 结果 为 3.62六入 Math.Round(3.626,2) 结果为 3.63五成双 Math.Round(3.625,2)结果为3
2011/7/18 Comments:
由各种方式得到的DataTable,去除DataTable里面重复的数据
SyntaxHighlighter.config.clipboardSwf = ’/Js/Syntax/clipboard.swf’;SyntaxHighlighter.all();一:最近操作一个消息数据,以文件的形式保存,文件保存的格式是:布布在线#bubuol.com#搞笑,经典#9011年06月10日 16:50:04二:文件转换成DataTable的C#代码: /// /// 从文本文件中读取数据,并包装成DataTable/// /// 文件路径/// 文件名/// 字段间的分隔符public static DataTable ReadFileToDataTable(string fileName, string split){DataTable result = new Dat
2011/6/14 Comments:
如何理解c和c++的复杂类型声明
曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明。  我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的右左法则。  需要强调一下的是,复杂的C/C++声明并不是好的编程风格;我这里仅仅是教你如何去理解这些声明。注意:为了保证能够在同一行上显示代码和相关注释,本文最好在至少1024x768分辨率的显示器上阅读。让我们从一个非常简单的例子开始,如下:int n;这个应该被理解为declare n as an int(n是一个int型的变量)。接下去来看一下指针变量,如下:int
2011/6/14 Comments:
Asp.net 默认配置下,Session莫名丢失的原因及解决办法
正常操作情况下Session会无故丢失。因为程序是在不停的被操作,排除Session超时的可能。另外,Session超时时间被设定成60分钟,不会这么快就超时的。这次到CSDN上搜了一下帖子,发现好多人在讨论这个问题,然后我又google了一下,发现微软网站上也有类似的内容。现在我就把原因和解决办法写出来。原因:由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下:<sessionState mode=’InProc’ stateConnectionString=’tcpip=127.0.0.1:42424’ sqlConnectionString=’data source=127.0.0.1;Trusted_Connection=yes’ co
2011/6/3 Comments:
Unable to load DLL由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会
Unable to load DLL ’CarClub.dll’: 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。 (Exception from HRESULT: 0x800736B1)奇怪的是:如果我在发布的机器上安装一套 Visual 2008 调试该程序再运行就能解决!解决办法:下载安装vcredist_x86.exe同时在服务器(win2003)上安装.net framework时,安装不上去,报错误IMC 可以安装 安装VS2010时图像处理组件wic_x86_chs.exeWindows 图像组件 (WIC) 提供启用 WIC 功能的应用程序,可显示并编辑安装有兼容 WIC 编解码器的任何一种图像格式,还能读写图像文件中的元数据。Windows
2011/5/23 Comments:
验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey>
验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Web.HttpException: 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。分析:分析后找到了问题的根源。首先,文章中提到,如果用GridView,并且指定了Da
2011/5/23 Comments:
PInvoke调用导致堆栈不对称
对 PInvoke 函数HTLib::Usb_DelHtFile的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。把:[DllImport("ht32dll.dll")]public static extern long Usb_DelHtFile(string filename,long mIndex);改成:[DllImport("ht32dll.dll")]public static extern int Usb_DelHtFile(string filename, int mIndex);后来查阅网文(网址:http://hi.baidu
2011/5/14 Comments:
编写C++非托管DLL以及在.NET托管中调用
编写C++非托管DLL以及在.NET托管中调用 新建项目,来到Win32,点击Win32项目输入名称MyVC点击确定。应用程序类型,勾选DLL,点击完成。 MyVC.cpp #include "stdafx.h"#include <stdio.h> extern "C" __declspec(dllexport) int Max(int a,int b){ return a>b?a:b;}extern "C" __declspec(dllexport) int Min(int a,int b){ return a>b?b:a;} //此示例来自CSDNextern "
2011/5/14 Comments:
MSDN中回调函数的讲解及其C#例子:用委托实现回调函数
ms-help://MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconusingcallbackfunctions.htm回调函数是托管应用程序中可帮助非托管 DLL 函数完成任务的代码。对回调函数的调用将从托管应用程序中,通过一个 DLL 函数,间接地传递给托管实现。在用平台调用调用的多种 DLL 函数中,有些函数要求正确地运行托管代码中的回调函数。本主题将介绍托管函数的元素,并说明如何实现回调函数和从托管代码中调用回调函数。回调函数基础要从托管代码中调用大多数 DLL 函数,可创建该函数的托管定义,然后调用该函数。此过程比较直接。要使用需要回调函数的 DLL 函数,则会有一些附加的步骤。首先,必须在文档中查阅该函数,确定该函数是否需要回调。接着,必须在托
2011/5/14 Comments: