C# 语言及实例
文章平均质量分 63
gishero
这个作者很懒,什么都没留下…
展开
-
C#中字符串的格式化
常用的字符串的格式化方法 string strRst; strRst = string.Format("{0,5:C}", 12345); //数字类-->货币 结果为 ¥12,345.00 strRst = string.Format("{0,5:D}", 12原创 2010-01-20 20:57:00 · 799 阅读 · 0 评论 -
List 与 DataTable之间的转换 (应用泛型)
一个老外写的,关于List 于 DataTable之间的转换,学习下,原文找不到了,抱歉 public static DataTable ListToDataTable(List list) { DataTable dt = new DataTable(); foreach (PropertyInfo info in typeof(T).Get转载 2009-12-28 13:28:00 · 1481 阅读 · 4 评论 -
两个关于委托的实例
前两天看书的时候看到两个关于委托的实例,今天自己工作的时候也突然想起来其中一些内容可以很好的借鉴,感觉也很有代表性,就又敲了一遍,也做了些注释和自己的看法,记录如下:namespace 简单的委托示例一.委托的用法{ /// /// 简单的数学计算类 /// class MathsOperations { //静态原创 2010-01-06 22:41:00 · 645 阅读 · 2 评论 -
关于构造函数继承的两点注意
1,如果基类没有提供默认构造函数,派生类必须使用 base 显式调用基构造函数。这是从MSDN上看到的一句话(参考http://msdn.microsoft.com/zh-cn/library/ms173115(v=VS.80).aspx)一开始还真没太引起过注意,最近才发现这个问题,实例如下 class B { } class BB : B { public BB(int i) { } } class BBB : BB {原创 2010-07-08 12:17:00 · 840 阅读 · 0 评论 -
C# object数组的循环
<br />今天看代码时候的发现的小问题,随手记录一下。<br /> <br />参数obj是个无法确定大小的bject[]数组类型,<br />而且object[]不支持foreach来遍历<br />用以下办法可以解决<br /> <br /> <br /> //obj是无法确定容量的数组类型 object[] private string GetString(object obj) { string strRst = "";原创 2010-06-08 16:38:00 · 13443 阅读 · 1 评论 -
微软制定的C# 命名规约 介绍
<br />原文 http://blogs.msdn.com/b/brada/archive/2005/01/26/361363.aspx<br /> <br />平时编码的时候基本都是使用VS编辑器的自动整形,所以大部分内容都不太需要注意了,<br />比较有用的是命名规约<br /> <br />不使用Hungarian命名法<br />不使用(_, m_, s_, )等作为成员开头,而用【“this.” (in C#) and (“Me.” in VB.NET)】来区分本地成员变量<br />使用ca翻译 2010-06-16 11:03:00 · 1107 阅读 · 2 评论 -
日文全角半角混合字符串的字节数取得
<br /> <br />日语中全角半角混合入力的情况下,取得字节数的做法<br />以Shift_JIS 和 UTF-8 为例<br /> <br /> <br /> string s = "全角カタカナなら仮名半角"; System.Text.Encoding hEncoding1 = System.Text.Encoding.GetEncoding("Shift_JIS"); byte[] ShiftJ原创 2010-06-18 10:32:00 · 4905 阅读 · 2 评论 -
关于文字列处理
<br />1,字符串比较<br /> <br />“==” 和 “Sting.Equals()”方法两者之间<br />就处理速度而言 “==”要首先进行两者类型的检查就是说,两个进行比较两者必须是类型一致的,<br />而Sting.Equals()有些情况下会忽略类型的比较,所以速度会快一些(毫秒级的)<br /> <br />但平常编程的时候就字符串比较而言用“==” 的话会在编程阶段就发现类型不一致的问题,所以相对比较安全<br />没有谁优谁略之分,具体问题具体分析了。<br /> <br />原创 2010-06-18 10:50:00 · 1075 阅读 · 0 评论 -
.NET 线程技术基础
<br />转载自 邵志东 多线程编程<br /><br />线程基本概念<br />• 线程是程序执行的基本原子单位. 一个进程可以由多个线<br />程组成.<br />• 每个线程都维护异常处理程序、调度优先级和一组系统用<br />于在调度该线程前保存线程上下文的结构。线程上下文包<br />括为使线程在线程的宿主进程地址空间中无缝地继续执行<br />所需的所有信息,包括线程的CPU 寄存器组和堆栈。<br />• 在分布式编程中,正确使用线程能够很好的提高应用程序<br />的性能及运行效率.实转载 2010-06-16 21:40:00 · 552 阅读 · 0 评论 -
Ado.net 连接池相关
<br />一,连接池的概念<br />• 连接池是处于一个进程 <br /> 连接池控制多个连接,这多个连接必须是在一个进程之中,重用也是在同一个进程中重用<br /> (从服务器端角度讲,实际上一个应用程序还会包含多个应用程序域,一个应用程序域中可能包含多个连接池,appdomain)<br /> <br /> asp.NET里如果连接池程序寄存在IIS中,是基于底层数据库访问组件之上的<br /> <br />• 该进程保存连接并使其处于活动状态,使连接可以被重复使用<br />示例场景:在原创 2010-10-02 22:32:00 · 797 阅读 · 0 评论 -
ado.net 分布式事务处理示例,及微软官方示例
ado.net事务处理的一个实例,画面就三个按钮开始事务,执行,提交事务代码如下: TransactionScope trans; /// /// 事务开始按钮的处理 /// /// /// private void btnOpen_Click(object sender, EventArgs e) { //只要在当前进程中声明 T原创 2010-10-02 23:05:00 · 2200 阅读 · 0 评论 -
ADO.NET 的几个示例一,在数据查询过程中实现事物处理
<br />一,在数据查询过程中实现事物处理<br /> <br />程序很简单,两个按钮一个开始连接,一个结束连接,画面忽略代码如下<br /> SqlConnection conn; private void Form1_Load(object sender, EventArgs e) { conn = new SqlConnection("Data Source=localhost;Initial Catalog=PMS;Integrat原创 2010-10-02 10:09:00 · 809 阅读 · 0 评论 -
关于委托机制的经典好文
呵呵,担心那天连接找不到了,自己收藏下,绝对经典,值得反复品味 原文地址http://topic.csdn.net/u/20090820/20/E9D30F8A-28AB-49DA-B20B-BA2B8DFC6827.html 《.NET委托: 一个C#睡前故事》 紧耦合 从前,在南方一块奇异的土地上,有个工人名叫彼得,他非常勤奋,对他的老板总是百依百顺。但是他的老板是转载 2009-12-26 23:11:00 · 580 阅读 · 0 评论 -
IComparable 和IComparer 接口实现数组的自定义排列
1,预定义类型的数组都实现了IComparable 接口,所以可以对包含这些类型的元素排序 . 而自定义类型,需要我们自己实现IComparable 接口。如下类Person类继承IComparable 接口,IComparable 接口中只有一个 CompareTo()方法,重写 CompareTo方法,实现对人名的排名 首先比价LastName, 如果LastN原创 2009-12-12 11:44:00 · 1023 阅读 · 0 评论 -
C# IFormattable接口,实现自定义的字符串格式化方法
IFormattable接口,只有两个参数,第一个参数指定要求的格式名称,即冒号后的部分{0,10:E}后一个参数包括更多的格式化去要考虑的文化背景信息,如不考虑此参数,格式化是会自动传递一个空值。 实例如下: /// /// 用来表示矢量数据的类Vector, /// 继承接口IFormattable,该接口只用一个方法, /// 即,要求实原创 2010-01-22 07:25:00 · 3962 阅读 · 0 评论 -
C# 中使用正则表达式 Regex.Matches方法的几个应用
用于正则表达式的 Regex.Matches静态方法的几种用法: //①正则表达式 = > 匹配字符串 string Text = @"This is a book , this is my book , Is not IIS"; //定义一个模式字符串,不仅仅是纯文本,还可以是正则表达式原创 2010-01-23 00:00:00 · 41392 阅读 · 4 评论 -
C# 泛型集合List和非泛型集合ArrayList的性能比较
在使用ArrayList这样的非泛型集合的过程中,要进行装箱和拆箱操作,会有比较大的性能损失,而使用泛型集合就没有这样的问题。 现做一简单测试如下://用来记录开始和结束的时间DateTime startTime = new DateTime();DateTime endTime = new DateTime();//定义集合类型ArrayList的一个实例Ar原创 2010-01-25 22:14:00 · 12300 阅读 · 6 评论 -
C# 编译时的内联
C# 会编译为IL,然后在运行期间进行JIT编译获得内部可执行代码,JIT编译器可生成高度优化代码,并在适当的时候内联代码,用内联来代替函数调用,故国某个方法或者属性的执行代码仅是调用另一个方法,或者返回一个字段,该方法或者属性肯定是内联的,但何处内联完全由CLR决定,不能像C++那样使用inline这样的关键字来控制。 这样额外的函数调用就不需要过分担心,是否会增加系统原创 2009-12-01 22:19:00 · 941 阅读 · 0 评论 -
LINQ方式 把DataTable的数据 生成全新的DataTable
我们知道,从一个存在的DataTable 类型中选取的DataRow 是不能直接附加给另一个DataTable的实例的,可以考虑用一下方式实现。 假设有一个DataTable 的实例 dt (它可以是一个属于DataSet的) IEnumerable query = from dtTmp in dt.AsEnumerable()原创 2009-12-03 17:02:00 · 4148 阅读 · 3 评论 -
C# 简单链表的实现上(object类型)
C#中关于简单链表的实现方法 一,元素类 /// /// 元素类 /// class LinkedListNode { private object value; public LinkedListNode(object value) { this.原创 2010-01-30 10:56:00 · 975 阅读 · 0 评论 -
C#==> default关键字
switch (str){ case "A": break; case "B": break; case "C": break; default: break;} 这段代码中的default关键字我们已经习以为常了,实际上default关键字是一个很容易被我们忽视的关键字它的作用远远不止于此原创 2010-02-03 20:37:00 · 1503 阅读 · 0 评论 -
拥有多个构造函数的类的模型
这是一个拥有多个构造函数的类的模型 ,设计类的时候,如果有类似业务可以借鉴 //一个用户类,不能实例化,只接受继承。所以定义为抽象类 abstract class Customer { private string Name; public Customer(string name) {原创 2009-12-08 23:23:00 · 1721 阅读 · 3 评论 -
C# 列表类Find()方法的Predicate match参数 和 ForEach()方法的Action action参数实现
定义赛车选手类,实现了IComparable, IFormattable接口重写了Tostring方法 [Serializable] public class Racer : IComparable, IFormattable { public Racer() : this(string.Empty, string原创 2010-02-08 22:58:00 · 8182 阅读 · 4 评论 -
自定义类的索引器实现及foreach方法的实现
//为了说明索引器而简化的控件类 public class ListBoxTest { private string[] strArray; private int ctr = 0; //控件的构造函数 public ListBoxTest(params string[] initStr)原创 2009-12-12 22:49:00 · 1070 阅读 · 0 评论 -
C#==>多线程的文档列队模型
通常处理各种这几种任务,比如排队系统,打印列队,处理请求都需要用使用到列队FIFO,即先进先出 下面这个类子模拟了在多线程环境下的对文档的操作,这里打印文档的标题,现实中还可以对文档进行各种处理 1,文档类 /// /// 文档类,包含标题和内容两个属性 /// public class Document {原创 2010-02-18 21:44:00 · 1506 阅读 · 0 评论 -
一个从委托应用到LINQ演变的示例
一,一个赛车手的类表述了赛车手的姓名,国籍,获奖情况等信息 [Serializable] public class Racer : IComparable, IFormattable { public string FirstName { get; set; } public string LastName { get; set; } public int Wins { get; set; } pub原创 2010-11-09 21:34:00 · 1218 阅读 · 0 评论