随笔分类 -  C#

C# using 实现强制资源清理
摘要:一、总述:使用using语句,定义一个范围,在范围结束时处理对象 (该对象必须实现了IDisposable接口)。其功能和try ,catch,finally完全相同。二、用法: using (Class1 c = new Class1()) { }//在范围结束时清理非托管不受GC控制的资源 其与下面的try…catch…finallya功能一样Class1 f = new Class1(); try { //执行代码 } catch() { //异常处理 } finally { f.Disposable(); }例如: using (SqlConne... 阅读全文
posted @ 2013-01-23 12:36 Jiang, X. 阅读(899) 评论(0) 推荐(0)
C# 读取 Access
摘要:通过using语句实现非GC资源的自动回收。 还需要有try…catch…之类的异常检测语句,检测file.exist。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; using Syste... 阅读全文
posted @ 2013-01-23 10:19 Jiang, X. 阅读(963) 评论(0) 推荐(0)
C++函数指针与C#委托之间有何联系
摘要:C#中有一种应用方法叫做委托。其应用方式及实现功能和我们以前为大家介绍的C++函数指针有不少相同之处。在这篇文章中,我们将会针对这两种方法做一个简单的介绍,方便大家区分理解。委托和函数指针都描述了方法/函数的签名,并通过统一的接口调用不同的实现。但二者又有明显的区别,简单说来,委托对象是真正的对象,而函数指针变量只是函数的入口地址。对于高层应用来讲,委托的灵活性和适用范围更胜C++函数指针;但对于底层应用,函数指针则是不可替代的。下面分别是委托类型和函数指针类型定义的例子:delegateintFn(inta,intb)//C#委托 typedefint(*Fn)(inta,intb)//C+ 阅读全文
posted @ 2013-01-02 14:21 Jiang, X. 阅读(1022) 评论(0) 推荐(0)
C# delegate & event
摘要:最近一直在学习C#的Delegate机制,总结在这里,以供大家参考。参考资料:http://www.akadia.com/services/dotnet_delegates_and_events.html自己在CSDN的讨论:http://bbs.csdn.net/topics/390334457一、基本理念在事件处理模型中,Delegate充当产生事件的对象和处理事件的方法之间的媒介。代理定义了控件的事件处理程序的签名,事件代理是广播式的,代理包含了方法引用列表。把delegate理解为函数指针或者对函数的引用,而这种引用关系能够触发多个函数的调用。在调用代理时,编译器不需要知道实际调用的是 阅读全文
posted @ 2012-12-28 20:20 Jiang, X. 阅读(594) 评论(0) 推荐(0)
C#中 #region指令
摘要:#region是一个分块预处理命令,它主要用于编辑代码的分段,在编译时会被自动删除。 #region使你可以在使用VS代码编辑器的大纲显示功能时指定可展开或折叠的代码块。 例如:#regionMyClassdefinitionpublicclassMyClass{staticvoidMain(){}}#endregion 备注:#region块必须以#endregion指令终止。 #region块不能与#if块重叠。但是,可以将#region块嵌套在#if块内,或将#if块嵌套在#region块内。 阅读全文
posted @ 2012-11-16 13:58 Jiang, X. 阅读(6800) 评论(0) 推荐(0)
C# Property机制
摘要:可以把C#的property机制看成是C#在语言层面上对数据的封装。在使用Property时,可以把它当做一个Field使用。传统的C++中使用的方法类似于: 1 using System; 2 3 public class Customer 4 { 5 private int m_id = -1; 6 7 public int GetID() 8 { 9 return m_id;10 }11 12 public void SetID(int id)13 {14 m_id = id;15 }16 17 ... 阅读全文
posted @ 2012-10-26 15:47 Jiang, X. 阅读(383) 评论(0) 推荐(0)
C#多态机制
摘要:1 using System; 2 3 public class DrawingObject 4 { 5 public virtual void Draw() 6 { 7 Console.WriteLine("I'm just a generic drawing object."); 8 } 9 }10 11 using System;12 13 public class Line : DrawingObject14 {15 public override void Draw()16 {17 Console.Write... 阅读全文
posted @ 2012-10-26 15:18 Jiang, X. 阅读(243) 评论(0) 推荐(0)
C#继承机制
摘要:1 using System; 2 3 public class Parent 4 { 5 string parentString; 6 public Parent() 7 { 8 Console.WriteLine("Parent Constructor."); 9 }10 public Parent(string myString)11 {12 parentString = myString;13 Console.WriteLine(parentString);14 }15 ... 阅读全文
posted @ 2012-10-26 15:15 Jiang, X. 阅读(186) 评论(0) 推荐(0)
C#构造函数与初始化列表
摘要:1 // Namespace Declaration 2 using System; 3 4 // helper class 5 class OutputClass 6 { 7 string myString; 8 9 // Constructor10 public OutputClass(string inputString)11 {12 myString = inputString;13 }14 15 //this指向特定对象,它产生了对自己带参构造函数的调用16 public OutputClass() : t... 阅读全文
posted @ 2012-10-26 15:06 Jiang, X. 阅读(9523) 评论(0) 推荐(1)
C#中的Boolean类型
摘要:关键字依然是bool, 只是其值只有true,false,没有0,1。这算是一种严格的语言定义吧。使用控制台打印bool得到的是“True”,“False”。 阅读全文
posted @ 2012-10-26 14:20 Jiang, X. 阅读(2809) 评论(0) 推荐(0)
C#中的{n}运算符
摘要:今天学到了C#中的{n}运算符,感觉这个运算符就是对C++中%d运算符的一种改进,因为{n}运算符能够指定替换列表中的第几个,就比%d之类的运算符操作起来省力很多。我的例程: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace braceApplication 7 { 8 class Program 9 {10 static void Main(string[] args)11 {1... 阅读全文
posted @ 2012-10-26 12:00 Jiang, X. 阅读(502) 评论(0) 推荐(0)
[转载]C#学习忠告
摘要:把C#当成一门新的语言学习; .看《C#入门经典》和《C#高级编程》; .不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; .不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点 .会用Visual vs,并不说明你会C#; .学c#并不难,长期坚持实践和不遗余力的博览群书; .如果不是天才的话,想学编程就不要想玩游戏!.看Visual vs的书,是学不了C#语言的; .浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!? .浮躁的人容易问:我到底该学什么;——别问,学就对了; .浮躁的人容 阅读全文
posted @ 2012-10-22 13:29 Jiang, X. 阅读(215) 评论(0) 推荐(0)
[转载]由C#风潮想起的 给编程初学者的忠告
摘要:希望大家可以看完,这篇文章可能会重新塑造你的编程之路!!我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。C#就象当年的ASP一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。96,97级的不少大学生都去做Web 了。当然我没有任何歧视某一行业的意识。我只是觉得如果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是可以 阅读全文
posted @ 2012-10-22 13:29 Jiang, X. 阅读(198) 评论(0) 推荐(0)
C#学习笔记—索引器
摘要:索引器是一种特殊的类成员,它能够让对象以类似数组的方式来存取,使程序看起来更为直观,更容易编写。1、索引器的定义C#中的类成员可以是任意类型,包括数组和集合。当一个类包含了数组和集合成员时,索引器将大大简化对数组或集合成员的存取操作。定义索引器的方式与定义属性有些类似,其一般形式如下:[修饰符] 数据类型 this[索引类型 index]{ get{//获得属性的代码} set{ //设置属性的代码}}修饰符包括 public,protected,private,internal,new,virtual,sealed,override, abstract,extern.数据类型是表示将要存取. 阅读全文
posted @ 2012-10-22 13:28 Jiang, X. 阅读(197) 评论(0) 推荐(0)
C#学习笔记—数组的创建
摘要:一位数组: int [] c = new int [12];二维数组: int [,] d = new int [1, 2]; 阅读全文
posted @ 2012-10-22 13:28 Jiang, X. 阅读(200) 评论(0) 推荐(0)
C#学习笔记—控制台与消息框输出
摘要:控制台输出: 1 using System; 2 3 namespace ConsoleOutApp 4 { 5 class Program 6 { 7 static void Main(string[] args) 8 { 9 Console.Write("Welcome to C#\n");10 }11 }12 }消息框输出: 直接声明命名空间using System.Windows.Forms;会提示查找不到该命名空间,要做的是:项目——忝加引用-----在.net组件里面找到-------... 阅读全文
posted @ 2012-10-22 13:27 Jiang, X. 阅读(1305) 评论(0) 推荐(0)
C#学习笔记—了解C#
摘要:这应该不是第一次学C#了,以前曾经在图书馆借过C#方面的书,大体的感觉是与C++的语法有比较相似的一面,没有在这方面做很多练习,自然就陌生了。回顾自己学习C++的历程,却也是经过了很多遍的学习与实践的结合才掌握到如此程度的。C#应该也是如此。 其实在程序设计语言方面,掌握好几门就已经足够了。计算机领域的核心问题不在程序设计,而在算法与数据结构设计。如果希望自己设计的软件有良好的市场前景,关键还是在于头脑。 借了本《C#大学教程》,感觉读起来没有什么困难,应该算入门级书吧。 第一个例程是设计一个带有图片以及文字的窗体,一行代码也不用写,直接拖控件就可以了。效果如图: 这使我联想到,如果用MFC. 阅读全文
posted @ 2012-10-22 13:27 Jiang, X. 阅读(212) 评论(0) 推荐(0)
C#学习笔记—对话框的初始化
摘要:在MFC中,对话框的初始化采用的是重载虚函数OnInitialDialog的方法,在C#中可以直接在需要添加消息的类中添加消息处理函数。在对话框载入时调用的函数如下:1 private void Form1_Load(object sender, EventArgs e)2 {3 label1.Text = "C#";4 }MSDN中说明如下:Form.Load Event.NET Framework 4.5Occurs before a form is displayed for the first time.RemarksYou can use this event t 阅读全文
posted @ 2012-10-22 13:25 Jiang, X. 阅读(510) 评论(0) 推荐(0)
C#学习笔记—从控制台输入并读取整数
摘要:主要使用了Int32.Parse(),代码如下: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace InputIntFromConsole 7 { 8 class Program 9 {10 static void Main(string[] args)11 {12 string inputNumber;13 int num;14 1... 阅读全文
posted @ 2012-10-22 13:24 Jiang, X. 阅读(9780) 评论(0) 推荐(2)