随笔分类 - c#
DESCryptoServiceProvider 类加密和解密
摘要:[代码]详见http://msdn.microsoft.com/zh-cn/community/system.security.cryptography.descryptoserviceprovider.aspx
阅读全文
string 和 stringbuilder的区别
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1.string 和 stringbuilder的区别: String在任何语言中,都有它的特殊性,在.NET中也是如此。它属于基本数据类型,也是基本数据类型中唯一的引用类型。字符串可以声明为常量,但是...
阅读全文
输出参数out和引用参数ref区别(代码解释说明)
摘要:使用ref的一段代码 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->using System;class M{public void F(ref int i){i=3;}}class Test{int i=0;//要作为引用参数传递的变量必须...
阅读全文
C#构造函数总结
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->构造函数要点:1:构造函数具有与类相同的名称;2:任何时候,只要创建类或结构,就会调用它的构造函数。3:构造函数最大作用:构造函数使得程序员可设置默认值、限制实例化(用private)以及编写灵活且便于...
阅读全文
c#托管资源和非托管资源区别
摘要:托管的概念是在.net框架诞生后出现的。用比较通俗的话解释就是运行在.net框架下,并受.net框架管理的应用或其他组件称为托管的,反之为非托管的。 也就是说用.net平台开发出来的程序应该就是托管的了,而在.net以前开发的程序都属于非托管的。但是非托管的程序完全可以通过在.net平台下重新生成而变成托管的 ,你就把.net framework理解为一个Microsoft的Java...
阅读全文
new、abstract、virtual、override,sealed关键字区别和使用代码示例
摘要:本文是整理牛人精华贴所得,非100%原创 new 与 override的区别 引用AnyTao博客中的一句话:覆写(override)与重载(overload),是成就.NET面向对象多态特性的基本技术之一正如某网友说的那一句话:Override 覆写 就是把原来的换掉了new 新的 就是两个共存着 使用override重写xx方法,通过父类引用一样只能看到重写后的方法;如果...
阅读全文
C#编程技巧轻松实现对文件的操作
摘要://C#写入/读出文本文件 string fileName =@"c:I.txt"; StreamReader sr = new StreamReader(fileName); string str=sr.ReadLine (); sr.close(); StreamWriterrw=File.CreateText(Server.MapPath(".")+"/myText.txt"...
阅读全文
[转]理解C#值类型与引用类型
摘要:这篇文章是我几个月前写的,今天进行了比较大的修订,重新发了出来,希望和大家共同探讨,并在此感谢Anytao的讨论和帮助。 从概念上看,值类型直接存储其值,而引用类型存储对其值的引用。这两种类型存储在内存的不同地方。在C#中,我们必须在设计类型的时候就决定类型实例的行为。这种决定非常重要,用《CLR via C#》作者Jeffrey Richter的话来说,“不理解引用类型和...
阅读全文
c# 控制台I/O
摘要:Console.Write()方法将指定的值输出到控制台窗口 Console.WriteLine()方法类似,但是在输出结果最后添加一个换行符 example_1: int i=10; int j=20; Console.WriteLine("{0} plus {1} equal {2}",i,j,i+j); output: 10 plus 20 equal 30 example_2 in...
阅读全文
接口与抽象类 c#【转】
摘要:一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点: ...
阅读全文
C#抽象类
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 using System; 2 3 namespace ConsoleApplication1 4 { 5 /// 6 /// Class1 的摘要说明。 7 /// 8...
阅读全文
C#关键字this和base比较
摘要:关于使用到了两个C#关键字this和base。 1,C# "this" keyword 其作用引用类的当前实例,其实看了下面这个例子就好理解了。 THIS不能用于静态方法中.比如Main~ 主要三个作用:当前实例、参数传递和索引器 1.1 当前实例 class Team { ///成员变量 private string name; ///构造函数 public...
阅读全文
c#中结构体和类的比较
摘要:区别: 结构是一种用关键字struct声明的自定义数据类型。与类相似,也可以包含构造函数,常数,字段,方法,属性,索引器,运算符和嵌套类型等,不过,结构是值类型。 1.结构的构造函数和类的构造函数不同。 a.结构不能包含显式的无参数构造函数。结构成员讲自动初始化为它们的默认值。 b.结构不能包含以下形式的初始值设定类:base(argument-list); 2.对于结构中的实例字段成...
阅读全文
C# 工厂模式 简单入门
摘要:利用设计模式可以使我们的代码更灵活,更容易扩展,更容易维护。各种面向对象的程序设计语言都提供了基本相同的机制:比如类、继承、派生、多态等等。但是又有各自的特色,C# 中的反射机制便是一个很重要的工具,好好地利用就可以在实际中发挥很大的作用。 我们来看一个例子: 我的程序中有需要一系列的对象,比如apple,orange…, 要想利用他们,我们就必须在程序中根据用户要求,然后一个个调用 n...
阅读全文
浅析C#编程中的内存管理
摘要:C#编程的一个优点是程序员不需要关心具体的内存管理,尤其是垃圾收集器会处理所有的内存清理工作。虽然不必手工管理内存,但如果要编写高质量的代码,还是要理解后台发生的事情,理解C#的内存管理。本文主要介绍给变量分配内存时计算机内存中发生的情况。 C#将数据分为两种:值数据类型和引用数据类型,这两种数据类型存储在内存中的不同的地方:值数据类型存储在堆栈中,而引用类型存储在内存的托管堆中。 1、...
阅读全文
C#的内存管理:堆栈、托管堆与指针 (转)
摘要:在32位的Windows操作系统中,每个进程都可以使用4GB的内存,这得益于虚拟寻址技术,在这4GB的内存中存储着可执行代码、代码加载的DLL和程序运行的所有变量,在C#中,虚拟内存中有个两个存储变量的区域,一个称为堆栈,一个称为托管堆,托管堆的出现是.net不同于其他语言的地方,堆栈存储值类型数据,而托管堆存储引用类型如类、对象,并受垃圾收集器的控制和管理。在堆栈中,一旦变量超出使用范围,其使用...
阅读全文
实体类
摘要:1. 类的分类:边界类、实体类和控制类 实体类主要是作为数据管理和业务逻辑处理层面上存在的类; 它们主要在分析阶段区分 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关(不理解是吧,来举个例子) 2. 我们可以把他简单的理解为将表的字段映射为类,字段名对应属性,用来做抽象封装。 ...
阅读全文
字段和属性关系
摘要:字段就像名词 属性好比形容词 用来形容名词长什么样子 字段和属性描述的对象不同. 表: 建立表后,设置字段. 表单: 建立表单后,设置属性。 属性其實是方法,一般來說,字段是不設成public的,對於用戶是隱藏的,所有字段都是通過屬性對外開放的 private System.Int32 _id; public System.Int32 id ...
阅读全文
浙公网安备 33010602011771号