随笔分类 - C#基础
1
摘要:前面双节讲了关于Encoding的一些概念及简单应用,需要回顾的朋友们可以点下面的链接。今天这一节主要讲一下Encoder和Decoder。C# 小叙 Encoding (一)C# 小叙 Encoding (二)关于Encoder和Decoder从字面意思上理解就是编码和解码,CLR有类似的,像UrlDecode()和UrlEncode()是对URL中的参数解码编码一样。Encoder,Decoder这两个是用来字符和字节之间的编码和解码的,是两个类型,而且还是抽象的,所以我们不能直接实例化它,但是目前CLR中给我们使用的类型中没有它们的派生类,不过CLR内部实现里肯定有它们的派生类。比如说下
阅读全文
摘要:Encoding用法Encoding用法比较简单,如果只是字节和字符的互相转换,GetBytes()和GetChars()这两个方法及它们的重载基本上会满足你所有要求。GetByteCount()及其重载是得到一个字符串转换成字节时实际的字节个数。GetCharCount()及其重载是得到一个字节数组转换成字符串的大小。要注意这两个方法:int GetMaxByteCount(int charCount); int GetMaxCharCount(int byteCount);它并不是你期望的那样,如果是单字节就返回charCount,如果是双字节就返回chartCount*2,而是chart
阅读全文
摘要:前言 众所周知计算机只能识别二进制数字,如1010,1001。我们屏幕所看到的文字,字符都是和二进制转换后的结果。将我们的文字按照某种规则转换二进制存储在计算机上,这一个过程叫字符编码,反之就是解码。目前存在多种字符编码方式,一组二进制数字根据不同的解码方式,会得到不同的结果,有时甚至会得到乱码。这也就是为什么我们打开网页时有时会是乱码,打开一个文本文件有时也是乱码,而换了一种编码就恢复正常了。CLR中的所有字符都是16位Unicode来表示的。CLR中的Encoding就是用于字节和字符之间的转换的。更多字符编码知识请参考,字符集和字符编码(Charset & Encoding)关于
阅读全文
摘要:1 /** 2 * 分钱单算法 3 4 1.有6个员工,每个人的工资是2000到5000不等,并且有零头; 5 【1】2104 6 【2】2320 7 【3】3450 8 【4】4520.1 9 【5】4876.310 【6】4995.911 2.财务发现金,现求出共要发多少现金,100元、50元、20元、10元、5元、2元、1元、5角、2角、1角分别为多少?(分不记)12 3.规则要求,按大面额现金最优发放。13 * */14 class Program15 {16 static float[] salary = { 2104, 2320, 3450, 4520.1f, 4876.3f, .
阅读全文
摘要:string path = @"C:\Program Files"; System.Diagnostics.Process.Start("explorer.exe", path);
阅读全文
摘要:原贴地址:http://www.shehui001.com/map.asp?pid=1038关键字:多线程-线程同步描述:关于.net中线程的基本应用可以参考《C#3.0核心技术》中多线程的第一部分,但线程同步方面的最好参考仍然是Jeffrey的《Windows核心编程》,其中不仅有详细的介绍,还有经典范例代码。前言关于.net中线程的基本应用可以参考《C# 3.0核心技术》中多线程的第一部分,但...
阅读全文
摘要:下表列出了在 Win32 API(在 Wtypes.h 中列出)和 C 样式函数中使用的数据类型。许多非托管库包含将这些数据类型作为参数传递并返回值的函数。第三列列出了在托管代码中使用的相应的 .NET Framework 内置值类型或类。某些情况下,您可以用大小相同的类型替换此表中列出的类型。 Wtypes.h中的非托管类 非托管 C 语言类型 托管类名 说明 ha...
阅读全文
摘要:网上有好多这类的文章,大部分都是用C/C++写的,也有部分C#写的,都思想都是一样的,调用win32 API。至于什么是内存映射文件,相信还是有好多人不知道是怎么一回事的,我也是偶然看window 核心编程了解到的。 C# 读取大文件的方法也是用的用StreamReader一次读出来,再用MemoryStream放在内存,再用StreamReader一行行的读出来,速度也挺快的,16M的文本大概也...
阅读全文
摘要:本文章是属于转载,原文章地址在文末。 一、 ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。 上个世纪60年代,美...
阅读全文
摘要:在.net framework 2.0之前,数组表示可以用Array 和集合类 ArrayList 表示,2.0后,.net 引进了泛型的概念List<>,那么我们的选择就多了一种。 2.0引进泛型其本意是减少类型的装箱拆箱所带来的性能消耗。 比如; private void CompareTo<T>(List<T> list) { .... } 这里的List...
阅读全文
摘要:/// <summary> /// Creates a new Image containing the same image only rotated /// </summary> /// <param name="image">The <see cref="System.Drawing.Image"/> to rotate</param&g...
阅读全文
摘要:今天fix bugs时,碰到一个关于上传文件格式的问题。系统要求上传.txt,.csv格式的,这个可以根据文件后缀名来过滤。但是如果用户修改了后缀名来欺骗系统的话又该怎么解决?比如a.jpg格式的改成a.txt,我现在的程序就无法识别了,虽然在后台可以弹出错误,但这个错误已经不是FS上定义的错误了。 怎么解决呢? 在网上查了好多资料,大部分都是通过将文件读成二进制流,取前两个字节判断,比如.jpg...
阅读全文
摘要:将前面写的几个排序算法整理了一个,合在一起。1.适合于实现了IComparable接口的任何类型的数组2.这个类可以当成一个工具类3.以后如果实现了其他的排序算法还会再加进来,目前有直接插入排序,希尔排序,冒泡排序,快速排序,选择排序。其中冒泡和选择比较简单, 希尔和快速排序比较复杂,都用上递归了。
阅读全文
摘要:基本思想 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是稳定的排序方法。 n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果: ①初始状态:无序区为R[1..n],有序区为空。 ②第1趟排序 在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[...
阅读全文
摘要:快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 算法过程 设要排序的数组是A[0]……A[N-1]...
阅读全文
摘要:冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一...
阅读全文
摘要:希尔排序(缩小增量法) 属于插入类排序,是将整个无序列分割成若干小的子序列分别进行插入排序 排序过程:先取一个正整数d1<n,把所有序号相隔d1的数组元素放一组,组内进行直接插入排序;然后取d2<d1,重复上述分组和排序操作;直至di=1,即所有记录放进一个组中排序为止 初始:d=5 49 38 65 97 76 13 27 49* 55 04 49 13 |--...
阅读全文
摘要:直接插入排序(straight insertion sort)的作法是: 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。 第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。 直接插入排序属于稳定的排序,时间复杂性为o(...
阅读全文
摘要:[代码][代码]PS:怎么这么慢,一张几K的图片传了10多分钟,真够郁闷的,算了,不上图了,NND
阅读全文
摘要:This step-by-step article illustrates how to implement and how to use a DataSetHelper class that includes sample code to create a DataTable object that contains the unique values of a column of anothe...
阅读全文
1