随笔分类 -  C#

摘要:C#字符串函数大全将包括Len Len(string|varname) 、Trim Trim(string) 、Ltrim Ltrim(string)等多项内容,希望本文能对大家有所帮助。LenLen(string|varname)返回字符串内字符的数目,或是存储一变量所需的字节数。TrimTrim(string)将字符串前后的空格去掉 LtrimLtrim(string)将字符串前面的空格去掉 RtrimRtrim(string)将字符串后面的空格去掉 MidMid(string,start,length)从string字符串的start字符开始取得length长度的字符串,如果省略第三个参 阅读全文
posted @ 2011-03-18 12:24 许明吉博客 阅读(6188) 评论(0) 推荐(0) 编辑
摘要:public class StringList { private int m_Capacity; private string[] m_Strings; private int m_Size; /// <summary> /// 数据个数属性 /// </summary> public int Count { get { return m_Size; } } /// <summary> /// 缓存大小属性 /// </summary> public int Capacity { get { return m_Capacity; } set { 阅读全文
posted @ 2011-03-18 11:44 许明吉博客 阅读(2487) 评论(0) 推荐(0) 编辑
摘要:最近用C#做mobile,但发现在windows mobile中可用的控件太少,只好自己定义了,下面以自定义一个button为例来说说C#中自定义控件如何做. (先说明一下,我用的是.net2005) 一.新建一个控件库项目. 二.想好要定义控件的需求:能设定字体,设定背景色和前景色,字符对齐方式,有一个click事件,就这么简单. 三.定义一个枚举类型,来设定对齐方式:public enum ButtonTextAlignment { Left=0, Middle, Right } 四.定义一些内部变量: private Color mBackColor = Color.White; //背 阅读全文
posted @ 2011-03-17 10:28 许明吉博客 阅读(6591) 评论(0) 推荐(0) 编辑
摘要:本文主要介绍 .Net 框架的基本绘图技术。通过简要的介绍和示例程序来探讨绘图技术的优势、劣势以及其它相关注意事项。 简介 幸运的是当编写一个典型的Windows 窗体程序时,窗体和控件的绘制、效果等操作是不需要特别加以考虑的。这是为什么呢?因为通过使用 .Net 框架,开发人员可以拖动一系列的控件到窗体上,并书写一些简单的与事件相关联的代码然后在IDE中按F5,一个完完全全的窗体程序就诞生了!所有控件都将自己绘制自己,窗体或者控件的大小和缩放都调整自如。在这里经常会用到的,且需要引起一点注意的就是控件效果。游戏,自定义图表控件以及屏幕保护程序的编写会需要程序员额外撰写用于响应 Paint 事 阅读全文
posted @ 2011-03-16 16:13 许明吉博客 阅读(762) 评论(0) 推荐(0) 编辑
摘要:GDI+的双缓冲问题我想有很多搞图形方面的朋友都会用到双缓冲技术的时候,而且有的时候她的确是个头疼的问题。最近我也要用双缓冲技术,程序怎么调试都不合适,当要对图形进行移动时,总是会出现闪烁抖动。在网上找了些资料,说得都不清不楚的,折腾了一晚上也没弄出来。第二天觉定自己研究一下。现在把自己的一些想法拿出来跟大家分享一下。双缓冲的基本原理:(转)一直以来的误区:.net1.1 和 .net 2.0 在处理控件双缓冲上是有区别的。.net 1.1中,使用:this.SetStyle(ControlStyles.DoubleBuffer, true);.net 2.0中,使用:this.SetStyl 阅读全文
posted @ 2011-03-16 16:10 许明吉博客 阅读(4257) 评论(1) 推荐(3) 编辑
摘要:复制:private void button1_Click(object sender, System.EventArgs e) { // Takes the selected text from a text box and puts it on the clipboard. if(textBox1.SelectedText != ”") Clipboard.SetDataObject(textBox1.SelectedText); }粘贴:private void button2_Click(object sender, System.EventArgs e) { // Decl 阅读全文
posted @ 2011-03-15 15:20 许明吉博客 阅读(384) 评论(0) 推荐(0) 编辑
摘要:C#合并数组 private static char[] Str = { 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v' 阅读全文
posted @ 2011-03-15 11:41 许明吉博客 阅读(939) 评论(0) 推荐(0) 编辑
摘要:protected void Page_Load(object sender, EventArgs e) { string s1 = "今天天气很晴朗很晴朗";//原始字符串 string split = "晴朗";//要合并的 int i = s1.IndexOf(split);//获取第一索引个要合并字符串的 s1=s1.Replace(split, "");//替换为空 s1 = s1.Insert(i, split);//在一个处插入合并字符串 Page.RegisterStartupScript("", 阅读全文
posted @ 2011-03-15 11:36 许明吉博客 阅读(20931) 评论(0) 推荐(1) 编辑
摘要:string[] hidenumber = HiddenField1.Value.Split(','); string[] phonenumber = txtPhoneNum.Text.Trim().Split('\r'); string[] moble = new string[hidenumber.Length + phonenumber.Length]; int index = 0; for (int i = 0; i < hidenumber.Length; i++) { moble[index] = hidenumber[i]; index++; 阅读全文
posted @ 2011-03-15 10:24 许明吉博客 阅读(6516) 评论(0) 推荐(0) 编辑
摘要:01.byte[] head = new byte[] { 0x7e }; 02.byte[] type = new byte[] { 0x00 }; 03.byte[] content = Encoding.Default.GetBytes("ABCDEGF"); 04.byte[] last = new byte[] { 0x23 }; 05.byte[] full=new byte[head.Length+type.Length+content.Length+last.Length]; 06.//head.CopyTo(full,0); 07.//type.CopyT 阅读全文
posted @ 2011-03-15 10:23 许明吉博客 阅读(21815) 评论(1) 推荐(1) 编辑
摘要:上一篇的解决办法显然不是最优的,先在找到了一种最优的解决办法,利用Directory进行合并数组,去除重复项。代码如下:效果如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace DouHaoCount{ class Program { static void Main(string[] args) { long T1 = DateTime.Now.Ticks; Dictionary<int, int> dic = new Dictionary< 阅读全文
posted @ 2011-03-15 10:22 许明吉博客 阅读(2910) 评论(0) 推荐(0) 编辑
摘要:private static char[] constant = { '0','1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f','g','h','i','j','k','l', 阅读全文
posted @ 2011-03-15 10:04 许明吉博客 阅读(309642) 评论(8) 推荐(15) 编辑
摘要:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.IO;public partial class Default3 : 阅读全文
posted @ 2011-03-14 16:45 许明吉博客 阅读(7093) 评论(0) 推荐(0) 编辑
摘要:从网上整理所得XMLDocument来操作XML比较简单,虽然有时效率不是很高。代码如下已知有一个XML文件(bookstore.xml)如下:<?xml version="1.0" encoding="gb2312"?><bookstore> <book genre="fantasy" ISBN="2-3631-4"> <title>Oberon's Legacy</title> <author>Corets, Eva</aut 阅读全文
posted @ 2011-03-14 16:17 许明吉博客 阅读(12239) 评论(0) 推荐(1) 编辑
摘要:CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 CTRL + F12转到声明 CTRL + ALT + J对象浏览 CTRL + ALT + F1帮助目录 CTRL + F1 动态帮助 F1 帮助 SHIFT + F1当前窗口帮助 CTRL + ALT + F3帮助-搜索 SHIFT + ALT + ENTER全屏显示 CTRL 阅读全文
posted @ 2011-03-11 18:01 许明吉博客 阅读(569) 评论(0) 推荐(0) 编辑
摘要:string str1 =Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。 //备注 按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:\”)。如果该进程在子目录中启 动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径(如“C:\mySubDirectory”)。 string str3=Directory. 阅读全文
posted @ 2011-03-11 17:57 许明吉博客 阅读(438) 评论(0) 推荐(0) 编辑
摘要:1.结构不能够创造无参数的构造函数2.结构产生在stack堆栈中,类产生在heap堆中。3. 结构中进行相互的赋值,可以创建新的结构,类中的相互赋值,只是复制了引用。4.从执行的效率来看,stack堆栈执行效率要比heap堆中要高,但是实际中,stack只是适合执行逻辑小的对象,而堆heap可以执行更加复杂的商业逻辑。5.结构不能够像类那样派生接口。6.结构不能够像类一样被继承。7.结构中提供默认的不带参数的构造方法,并且不允许替换,类中同样提供不带参数的构造方法。但是允许替换。8.结构中不存在析构函数,类中存在析构函数。9.结构中不允许使用sealed、abstract、virtual等关键 阅读全文
posted @ 2011-03-09 18:01 许明吉博客 阅读(216) 评论(0) 推荐(0) 编辑
摘要:.c#中的foreach是类型下面的foreach(int i in arr){}2.c#中允许使用goto语句使用方法是 goto 标示符,其中标示符使用相应的标示符字母加上:3.c#中允许小范围的跳动,但是不允许跨函数或者说方法的跳转4.goto语句也可以在switch中使用5.throw语句是一种抛出语句。6.引用传递最终的结果,可能会改变传递的参数的值,值传递,不改变值7.out的关键字一般是为了让一个方法有多个返回值8.在一个项目中,声明的全局变量可以被涵盖在命名空间namespace中。而一个类当中的所谓的全局变量则必须用static关键字来修饰。9.常用方法9.1变量转字符串的方 阅读全文
posted @ 2011-03-09 18:01 许明吉博客 阅读(243) 评论(0) 推荐(0) 编辑
摘要:类和结构体的区别 1. class和structure很相似, 从技术层面讲,class是引用,而structure则是数值. 有人很形象的说 class里有行动,方法,成员,是有机体的结合,而structure则是活生生的有机体, 2. 通俗的理解,class包涵structure, class里有方法拉,成员拉,什么滴, 而structure只有数据,二 .类与结构的差别%%%类成员默认是private,而结构体默认是 public。 1.值类型与引用类型 结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,string 对应 阅读全文
posted @ 2011-03-09 17:11 许明吉博客 阅读(464) 评论(1) 推荐(0) 编辑
摘要:结构体的定义:结构体也可以象类一样可以单独定义.class a{};struct a{};结构体也可以在名字前面加入控制访问符.public struct student{};internal struct student{};如果结构体student没有publice或者internal的声明类program就无法使用student结构定义obj对象如果结构体student的元素没有public的声明,对象obj就无法调用元素x因为默认的结构体名和元素名是*******类型程序:using System;public struct student { public int x; };clas 阅读全文
posted @ 2011-03-09 15:31 许明吉博客 阅读(364) 评论(0) 推荐(0) 编辑