随笔分类 -  C#

C#字符串编码
摘要:在之前的使用习惯中,我们需要对URL Encode的时候通常只是调用系统的静态方法进行Encode下就可以了。今天大强问了个问题把我楞住了:你的Encode是使用什么编码?所以小猪有了下面的测试代码:class Program{ static void Main(string[] args) { string a = "Glory is fleeting, but obscurity is forever"; string b = UrlEncode(a); Console.WriteLine(b); } public ... 阅读全文
posted @ 2013-08-06 12:04 smallerpig 阅读(1073) 评论(0) 推荐(0)
C#延迟加载
摘要:延迟加载(lazy loading) 设计模式是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据(读取属性值)的时候,才真正执行数据加载操作.有效使用它可以大大提高系统性能.为了便于理解, 我们来建立一个场景, 假设我们要构造一个Hero(英雄) 类, 每个Hero 有自己的名字和(SpecialSkill)特殊技能.建模这是一种建立的方法:public class Hero{ public string FullName { get; set; } public string Name { get; set; } public SpecialSkill... 阅读全文
posted @ 2013-07-30 14:29 smallerpig 阅读(446) 评论(0) 推荐(0)
C#格式化DateTime时间
摘要:DateTime dt = DateTime.Now;Label1.Text = dt.ToString();//2005-11-5 13:21:25Label2.Text = dt.ToFileTime().ToString();//127756416859912816Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816Label4.Text = dt.ToLocalTime().ToString();//2005-11-5 21:21:25Label5.Text = dt.ToLongDateString(... 阅读全文
posted @ 2013-07-29 10:23 smallerpig 阅读(182) 评论(0) 推荐(0)
C# 操作文件夹(创建、移动、删除)
摘要:if (!Directory.Exists(@"E:\ziptest")) Directory.CreateDirectory(@"E:\ziptest");主要用到了System.IO.Directory类,该类提供了相关操作文件夹的静态方法。删除文件夹:// 摘要:// 从指定路径删除空目录。//// 参数:// path:// 要移除的空目录的名称。此目录必须为可写或为空。public static void Delete(string path); // 摘要:// 删除指定的目录并(如果指示)删除该目录中的任何子目录。//// 参数:// pa 阅读全文
posted @ 2013-07-24 14:18 smallerpig 阅读(216) 评论(0) 推荐(0)
C#操作Zip
摘要:Zip格式是开源的压缩格式,在.NET4.0下微软只提供了gzip的相关操作类,在.NET4.5之后才直接提供了操作Zip的类。在4.0之前想要操作Zip只有借鉴第三方的类库,比较著名的是:ShareZipLib。直接解压与压缩Zip的操作比较简单,这里小猪分享的是在不解压所有文件的情况下只解压Zip包中的文件情况一:知道Zip包中有某文件且知道在什么地方,解压Zip包中特定文件。情况二:不知道文件在Zip包中的位置,需求搜索。先在项目中引用第三方类库在类代码前面插入对类库的引用:using ICSharpCode.SharpZipLib.Zip;using ICSharpCode.Sharp 阅读全文
posted @ 2013-07-24 09:29 smallerpig 阅读(1734) 评论(0) 推荐(0)
正则表达式 各符号意义整理
摘要:字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。^匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。$匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 阅读全文
posted @ 2013-07-17 09:14 smallerpig 阅读(962) 评论(0) 推荐(0)
C#中流(stream)、字节(byte[])、字符(char[])、字符串string
摘要:首先要明白它们本身是由什么组成的: 流:二进制 字节:无符号整数 字符:Unicode编码字符 字符串:多个Unicode编码字符 那么在.net下它们之间如何转化呢? 一般是遵守以下规则: 流->字节数组->字符数组->字符串 下面就来具体谈谈转化的语法: 流->字节数组 MemoryStream ms = new MemoryStream(); byte[] buffer = new byte[ms.Length]; ms.Read(buffer, 0, (int)ms.Length); 字节数组->流 byte[] buffer = new byte[10] 阅读全文
posted @ 2013-07-15 15:41 smallerpig 阅读(525) 评论(0) 推荐(0)
C#委托的理解
摘要:一直以来小猪都没有跨过委托的这个概念的门槛,只能够回答委托就是函数的指针。但是怎么用却并不能够理解。这也一直困扰着我,最近越发的决定要把他拿下。现在讲讲我对他的理解。网上很多例子都讲了他是函数的指针,即把某个方法传递给另外一个方法作为参数来用。一直不理解为什么这样。直到今天想到去年的时候用到一个方法时回头看才发现那会已经用到了。例子是这样的,我需要一个方法来过滤一个List里面相同的元素,“相同的”的这是个模糊的概念,不同类型对“相同的”概念的定义是不同的。这样在写这么一个过滤类的方法的时候就不能直接的判断List里面的元素是否==了,从而也就不能够删除达到过滤的效果。那这个怎么办呢?可以给这 阅读全文
posted @ 2013-06-28 14:20 smallerpig 阅读(171) 评论(0) 推荐(0)
C# LIST 的各种加减
摘要:发现自己的基础还是很薄弱,一个List 的相减花了一整天的时间,到最后还是选择了折中的方法。有时间收集下List 资料 阅读全文
posted @ 2013-06-25 09:27 smallerpig 阅读(2308) 评论(0) 推荐(0)
ASP.NET 将excel导入 sql server
摘要:public class ExcelToSQL{ //string SqlConnectionString = "Server=(local);Initial Catalog=Test;Integrated Security=True"; public SqlConnection sqlcon = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["链接字符串"].ConnectionString); //创建SQL连接 public SqlComm 阅读全文
posted @ 2013-06-24 09:51 smallerpig 阅读(346) 评论(0) 推荐(0)
C#winform去除btn按钮的边框
摘要:系统自带的按钮无法去除边框。网上找了个解决方案:重写按钮的OnPaint事件 class newbtn : System.Windows.Forms.Button //继承之系统按钮控件 { protected override void OnPaint(PaintEventArgs e) {//重写 base.OnPaint(e); System.Drawing.Pen pen = new Pen(this.BackColor, 3); e.Graphics.DrawRectangl... 阅读全文
posted @ 2012-02-08 20:06 smallerpig 阅读(1621) 评论(1) 推荐(0)
C#读写文本文件,字符串截取
摘要:static void Main(string[] args) { string txt = ""; StreamReader sr = new StreamReader(@"E:\test.txt",Encoding.GetEncoding("gb2312"));//读文件流,后面的文件标码不可少,不然有汉字就是乱码。 StreamWriter sw = new StreamWriter(@"E:\123.txt", true, Encoding.GetEncoding("gb2312")); 阅读全文
posted @ 2012-01-10 20:20 smallerpig 阅读(1640) 评论(2) 推荐(0)
学习了GDI+ 做了个简单的折线图。
摘要:本想做个窗体,然后打开来的时候有一个表传进去作为参数,,目前只实现了画图。所以构造函数中出现了尴尬的public Form1_quxian(DataTable table) { InitializeComponent(); }还有个问题暂时没解决的就是发现打开窗体的时候并没有出现坐标轴,当鼠标移动到按钮的时候才出现,而且当窗体失去焦点或者被其他窗体盖住后再获得焦点,那么画的曲线就消失了。View Code 1 namespace zhexiantu{ 2 public partial class Form1_quxian : Form 3 { 4 public... 阅读全文
posted @ 2012-01-06 10:09 smallerpig 阅读(379) 评论(0) 推荐(0)
c#中委托的概念一个总结demo
摘要:this.btn_confirm.Click += new System.EventHandler(this.btn_confirm_Click);System.EventHandler这个就是API的一种委托类型,你再问它是啥,我还是告诉你这是一种API的委托类型!这个么。。。。咋说,就是个事件的生命,btn_confirm.Click是按钮的事件属性,+=是重载的运算符,new System.EventHandler(this.btn_confirm_Click);这里就是委托了,你看this.btn_confirm_Click这个是方法,方法作为参数,说白一点就是用户通知程序一个事情,程 阅读全文
posted @ 2011-12-09 14:35 smallerpig 阅读(329) 评论(0) 推荐(0)