
.NET C#基础语法
深度Java
这个作者很懒,什么都没留下…
展开
-
将Byte数组转化为String
FCL得很多方法的返回值都是包含字符的Byte数组而不是返回一个String,这样的方法包含在如下的类中: · System.Net.Sockets.Socket.Receive · System.Net.Sockets.Socket.ReceiveFrom · System.Net.Sockets.Socket.BeginReceive · System.Net.Sockets.Socket.B原创 2007-03-24 15:04:00 · 7389 阅读 · 1 评论 -
csc命令帮助
大家还是要常用用csc,个人感觉有时vs有不少不太方便的东西。C:/>csc /help |more Microsoft (R) Visual C# 编译器版本7.00.9254 [CLR version v1.0.2914] 版权所有 (C) Microsoft Corp 2000-2001。保留所有权利。 Visual C# 编译器选项原创 2007-03-24 13:46:00 · 3452 阅读 · 0 评论 -
C#多态性
本节课将介绍C#的多态性,其目的包括:1.了解什么是多态性2.如何定义一个虚方法3.如何重载一个虚方法4.如何在程序中运用多态性面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。 可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了,这些对象不必是相同类型的对象。当然,如果它们都继承自某个类,你可以把这些派生原创 2007-03-24 13:47:00 · 2772 阅读 · 2 评论 -
C#方法/函数
本节课向你介绍C#的方法,其目的是:1.了解方法的结构格式2.了解静态和实例方法之间的区别3.学会实例对象的使用4.学会如何调用实例化的对象5.学会方法的四种参数类型的使用6.学会使用"this"引用以往,对于每个程序来说,所有的工作都在Main()方法中实现。这对于功能简单的程序是合适的,因为仅仅用来学习一些概念。有个更好的方法来组织你的程序,那就是使用方法。方法是很有用的,因为方法可以让你在不原创 2007-03-24 13:50:00 · 2683 阅读 · 0 评论 -
C#循环控制语句
本节课将介绍如何使用C#控制语句中的循环语句,本课目的如下:1.学会"while"循环的用法。2.学会"do" 循环的用法。3.学会"for" 循环的用法。4.学会foreach循环的用法。5.进一步了解"break"语句的用法。6.如何使用"continue"语句。在C#中,使用"goto"语句并不是一个最佳的建立循环的方法。本节课将介绍建立循环的常用方法。第一个要介绍的语句是while循环语句原创 2007-03-24 13:52:00 · 7047 阅读 · 2 评论 -
C#简单的欢迎程序
本节课通过介绍几个简单的程序,使得你对C#有所入门。本节程要达到如下几个目的:1.理解一个C#程序的基本结构。2.初步了解"名称空间"的概念。3.初步了解"类"的概念。4.了解"Main"方法所做的工作。5.学会如何读取命令行输入信息。6.学会使用控制台输入/输出 (I/O)语句。1.清单1-1. 一个简单的欢迎程序Welcome.cs // Namespace Declarationusing原创 2007-03-24 13:54:00 · 4166 阅读 · 0 评论 -
HashTable的使用示例
using System;using System.Collections;using System.Text;public class SamplesHashtable { public static void Main() { // Create and initialize a new Hashtable. Hashtable table = new H原创 2007-03-24 13:57:00 · 3201 阅读 · 0 评论 -
C#数组
class TestArraysClass{ static void Main() { // Declare a single-dimensional array int[] array1 = new int[5]; // Declare and set array element values原创 2007-03-24 13:59:00 · 2038 阅读 · 0 评论 -
C#语法入门
1、大小写区别2、在C#中的布尔类型为bool,而JAVA为boolean3、C#有一个不安全模式,在此模式之下可以使用指针4、有枚举类型5、代理和索引器6、运算符重载7、没有throws关键字下面开始C#之行。在开始学习C#之前,先了解下C#语句的特点:1. C#是区别大小。2. 每一句都以分号结束,不象VB.NET。3. 多个语句通过分号可以写在一行,不过不推荐,因为不清晰。OK原创 2007-03-24 14:03:00 · 3333 阅读 · 0 评论 -
c#事件
任何编写过图形用户界面(GUI)软件的开发人员都熟悉事件处理编程,当用户与GUI控制进行交互时(例如点击表格上的按钮),作为上述事件的反应,就会执行一个或多个方法。没有用户的参与,事件也可能执行。事件处理程序是对象的方法,是根据应用程序中发生的事件而执行的。为了理解.Net框架下的事件处理模式,我们需要理解代理的概念。 C#中的代理 C#中的代理允许我们将一个类中的方法传递给其他类的对象。我们能够原创 2007-03-24 13:12:00 · 2425 阅读 · 1 评论 -
C#索引器
其目的包括: 1.了解什么是索引指示器 2.如何实现索引指示器 3.重载索引指示器 4.了解如何实现多参数的索引指示器 索引指示器并不难使用。它们的用法跟数组相同。在一个类内部,你可以按照你的意愿来管理一组数据的集合。这些对象可以是类成员的有限集合,也可以是另外一个数组,或者是一些复杂的数据结构。不考虑类的内部实现,其数据可以通过使用索引指示器来获得。如下是一个例子: 1.清单 11-1. 索引指原创 2007-03-24 13:06:00 · 3178 阅读 · 0 评论 -
C# checked、unchecked操作符
checked和unchecked操作符用于整型算术运算时控制当前环境中的溢出检查。下列运算参与了checked和unchecked检查(操作数均为整数):1) 预定义的++和――一元运算符。2) 预定义的-一元运算符。3) 预定义的+、-、×、/等二元操作符。4) 从一种整型到另一种整型的显示数据转换。当上述整型运算产生一个目标类型无法表示的大数时,可以有相应的处理方原创 2007-03-24 12:38:00 · 5045 阅读 · 0 评论 -
C# Idioms: Safely方法
(原文排版格式 http://www.marshine.com) 名称 Safely Method 意图 通过方法保证返回有效(不为空引用,null或Nothing)的对象或抛出异常,当存在多个调用者时简化调用者需要处理null返回值的代码。 动机 一个存放对象的集合或类似功能的容器类,提供了根据键值返回集合成员的接口,如果不存在指定键值的项,则返回一个空引用。例如根据Student的SID(学号翻译 2007-03-24 15:14:00 · 2170 阅读 · 0 评论 -
C#中虚方法重载
在C#中,进行虚方法的重载有些体会,现与大家分享。 首先请大家看看下面的例子, using System; abstract public class contact { public virtual string prinf() { return ("这是虚方法"); } } public class class1:contact { public string prinf() { return原创 2007-03-24 16:02:00 · 3908 阅读 · 1 评论 -
在C#中使用代理的方式触发事件
事件(event)是一个非常重要的概念,我们的程序时刻都在触发和接收着各种事件:鼠标点击事件,键盘事件,以及处理操作系统的各种事件。所谓事件就是由某个对象发出的消息。比如用户按下了某个按钮,某个文件发生了改变,socket上有数据到达。触发事件的对象称作发送者(sender),捕获事件并且做出响应的对象称作接收者(receiver),一个事件可以存在多个接受者。 在异步机制中,事件是线程之间进行通原创 2007-03-24 16:33:00 · 4477 阅读 · 0 评论 -
C#中的转义字符
a 警铃 /b 退格 /f 换页 /n 新的一行 /r 回车 /t 水平制表符 /v 垂直制表符 /0 空 / 单引号 / 双引号 // 反斜线符号 /r/n回车换行原创 2007-03-24 16:37:00 · 4295 阅读 · 1 评论 -
C#中的接口
接口把一组公共方法和属性组合起来 ,以封装特定功能的一个集合。通过类可以实现接口,这样类就支持接口所有的属性和方法。 接口只能对方法和属性进行定义,不能实现,只能由支持它的类实现。接口中的成员不能用访问符修饰,如public,private,它的成员默认为public 定义接口比较简 单 public interface IMyinterface { void Dosomething();//方法原创 2007-03-24 16:49:00 · 4267 阅读 · 2 评论 -
C#中的类型转换
C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之间的转换、字符串和字符数组/字节数组之间的转换、各种数值类型和字节数组之间的转换、十六进制数输出以及日期型数据的一些转换处理,在这里与大家分享—— 1. 装箱、拆箱还是别名 许多 C#.NET 的原创 2007-03-24 16:51:00 · 5760 阅读 · 2 评论 -
一个函数返回多个值
有两种方法:1.使用指针变量声明函数(或者使用数组变量)2.使用传出参数第一种方法:函数返回的是一个指针地址(数组地址),这个内存地址有多个变量寄存在里面。这个方法我不太会用,传地址传值我常常搞的淅沥糊涂。第二种方法:我用例子说明。首先声名一个函数,定义如下public bool CheckUser(string UserName, out string PassWord, Out原创 2007-03-24 12:15:00 · 3910 阅读 · 0 评论 -
在 C# 中通过 P/Invoke 调用Win32 DLL
,.NET Framework 1.0 或 1.1 版类库中存在任何 Windows 所没有的功能限制都不足为怪。毕竟,32 位的 Windows(不管何种版本)是一个成熟的操作系统,为广大客户服务了十多年。相比之下,.NET Framework 却是一个新事物。随着越来越多的开发人员将生产应用程序转到托管代码,开发人员更频繁地研究底层操作系统以图找出一些关键功能显得很自然 — 至少目前是如此原创 2007-03-24 12:27:00 · 3628 阅读 · 0 评论 -
17种Hello World!
使用C#编写不同的“Hello World”程序 1. A Beginners Hello World public class HelloWorld { public static void Main() { System.Console.WriteLine("HELLO WORLD"); } } 2. Slightly improved version using System; public原创 2007-03-24 14:34:00 · 2524 阅读 · 0 评论 -
c#线程
c#中写一个多线程应用是非常简单的,本章将介绍如何在c#种开发多线程程序。在.net中线程是由System.Threading 名字空间所定义的。所以你必须包含这个名字空间。 using System.Threading; 开始一个线程 System.Threading 名字空间的线程类描述了一个线程对象,通过使用类对象,你可以创建、删除、停止及恢复一个线程。创建一个新线程通过new 操作,并可以原创 2007-03-24 14:37:00 · 5336 阅读 · 3 评论 -
C#2.0匿名函数
C# 2.0中提供了通过delegate实现匿名函数功能,能有效地减少用户记代码工作,例如 以下为引用: ... button1.Click += new EventHandler(button1_Click); ... void button1_Click(Object sender, EventArgs e) { // Do something, the button was clicked.原创 2007-03-24 14:54:00 · 3857 阅读 · 0 评论 -
C#好书盘点【月儿原创】
C#好书盘点作者:清清月儿 主页:http://blog.youkuaiyun.com/21aspnet/ 时间:2007.7.7 本文本人只授权优快云以及其相关单位机构随意修改,其他任何出版机构,博客可以转载但是要保留版权如果修改版权信息,本人将根据《信息网络传播权保护条例》追究法律责任,请尊重他人的劳动成果,尊重原创!C#是学习asp.net和.NET Winfor原创 2007-07-07 17:37:00 · 44784 阅读 · 40 评论 -
C#中判断空字符串的3种方法性能分析【月儿原创】
C#中判断空字符串的3种方法性能分析作者:清清月儿 主页:http://blog.youkuaiyun.com/21aspnet/ 时间:2007.4.28 3种方法分别是:string a="";1.if(a=="")2.if(a==String.Empty)3.if(a.Length==0)3种方法都是等效的,那么究竟那一种方法性能最高呢?本人用实验说明问题。建立3原创 2007-04-28 00:23:00 · 42929 阅读 · 64 评论 -
C#优化字符串操作【月儿原创】
C#优化字符串操作作者:清清月儿 主页:http://blog.youkuaiyun.com/21aspnet/ 时间:2007.6.17 开发中可以说几乎随时会涉及到字符串处理,本人觉得很有必要把平时遇到的问题和大家一起讨论,如果大家有好的见解和心得请留言和大家分享。1.Convert.ToInt32与Int32.Parse的恩恩怨怨2.Split的3种用法原创 2007-06-17 11:54:00 · 20584 阅读 · 31 评论 -
C#中抽象类和接口的区别
一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之原创 2008-11-20 15:52:00 · 14154 阅读 · 20 评论 -
C#语言的几个层次
作者: 李建忠接到一位前不久C#培训学员的来信,这位学员虽然以前功底欠缺,但学习劲头很足,在培训中成长很快。即便基本吃透《.NET框架(修订版)》还嫌不够过瘾,一心要成为高手中的高手。来信的目的是希望我来指点进阶方向。说实话,我一般不想在这些有关个人发展的大是大非的问题上给人指导,因为太多亲身或眼见的经历告诉我人生实在是很难捉摸,善良、智慧、勤奋这些我们珍视的品格常常会碰到可怕的现实。我感转载 2008-12-11 17:17:00 · 15611 阅读 · 21 评论 -
C# 特性(Attribute)学习。
特性(attribute)是被指定给某一声明的一则附加的声明性信息。在C#中,有一个小的预定义特性集合。在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来看看在我们的代码中如何使用预定义特性。 using System; public class AnyClass { [Obsolete("Dont use Old method, u原创 2008-12-15 16:10:00 · 12018 阅读 · 0 评论 -
C# 里怎样得到当前执行的函数名,当前代码行,源代码文件名。
得到函数名:System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(); this.Text = st.GetFrame(0).ToString();得到代码行,源代码文件名:StackTrace st = new StackTrace(new StackFrame(tru原创 2008-12-15 16:12:00 · 21305 阅读 · 12 评论 -
《Effective C#中文版:改善C#程序的50种方法》读书笔记
一、用属性代替可访问的字段 1、.NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处; 2、在属性的get和set访问器重可使用lock添加多线程的支持。二、readonly(运行时常量)和const(编译时常量) 1、const只可用转载 2011-07-10 23:26:40 · 3211 阅读 · 1 评论 -
C#的6种常用集合类大比拼【月儿原创】
C#的6种常用集合类大比拼作者:清清月儿 主页:http://blog.youkuaiyun.com/21aspnet/ 时间:2007.6.27 说明:MSDN没有说出几种集合类其间的区别,当然欲知更多细节可参考MSDN。一.先来说说数组的不足(也可以说集合与数组的区别):1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数原创 2007-06-27 00:35:00 · 29856 阅读 · 40 评论 -
C#简介- 类和对象
类(class)是C#类型中最基础的类型。类是一个数据结构,将状态(字段)和行为(方法和其他函数成员)组合在一个单元中。类提供了用于动态创建类实例的定义,也就是对象(object)。类支持继承(inheritance)和多态(polymorphism),即派生类能够扩展和特殊化基类的机制。 使用类声明可以创建新的类。类声明以一个声明头开始,其组成方式如下:先是指定类的特性和修饰符,后跟类的名字,基原创 2007-03-24 17:12:00 · 6501 阅读 · 4 评论 -
C#继承类重写与隐藏基类方法的区别
using System; using System.Collections; public class Nevermore60Customer:Customer { public override string GetFunnyString() { return "Nevermore60.Nevenmore!"; } ---------------------------------------原创 2007-03-24 16:54:00 · 9237 阅读 · 1 评论 -
C# 2.0 的partial
partial 关键字的作用是将你的 class 分为多个部分,编译器会将多个部分拼到一起去。 public partial class SampleClass ...{ public void MethodA() ...{ } } public partial class SampleClass ...{ public void MethodB() ...{ } } 和 public class原创 2007-03-24 15:05:00 · 2372 阅读 · 0 评论 -
C# Idioms: Enum还是Enum Class(枚举类)
原文排版格式:http://www.marshine.com) reversion:2004/5/28 修改说明:感谢Ninputer提到的CLS兼容问题,同时修改了原来版本没有提及的Equals改写,以及修改"=="重载的不完善代码,和增加enum struct内容 reversion:2004/6/4 增加kirc提到的Enum的Flags特性,因为文本超长,新的版本可以在http://www翻译 2007-03-24 15:13:00 · 2905 阅读 · 0 评论 -
通过C#实现集合类纵览.NET Collections及相关技术
概述:在真正的对象化开发项目中,我们通常会将常用的业务实体抽象为特定的类,如Employee、Customer、Contact等,而多数的类之间会存在着相应的关联或依存关系,如Employee和Customer通过Contact而产生关联、Contact是依赖于Employee和Customer而存在的。在实际的对象应用模块中,可能会有这样的需求:获得一组客户对象(即Customers集合类的实例原创 2007-03-24 15:21:00 · 2958 阅读 · 0 评论 -
用C#去除代码的SourceSafe管理
经常看一些的程序,有些一个解决方案带有多个项目,由于代码比较多,多人开发,所以好多vs.net下的工程是用source safe进行版本控制的。而用source safe进行版本控制需要局域网路径共享,因此好多项目换一台机器打开会出现一些问题,比如“解决方案看起来是受源代码管理,但无法找到它的绑定信息……”之类的提示信息很多。有时候修改了代码还保存不了,所以想把他去掉,下面是对项目管理前后的一些对转载 2007-03-24 15:30:00 · 2250 阅读 · 0 评论 -
C#中switch语句注意
大家肯定对switch语句并不陌生,它能够让程序根据控制表达式的值,从多个动作中作出选择(从逻辑过程看,和多分支语句if-else有些相似)。在C++和java中也有这一语句,不过在C#中,这一语句则有了些变化。先看下边一个例子: switch(letter) { case a: Console.WriteLine("aaaaa"); case b: Console.WriteLine("原创 2007-03-24 15:35:00 · 7276 阅读 · 0 评论 -
C#运算符重载
运算符重载是指允许用户使用用户定义的类型编写表达式的能力。它允许用户定义的类型与预定义的类型具有相同的功能。 例如,通常需要编写类似于以下内容的代码,以将两个数字相加。很明显,sum 是两个数字之和。 int i = 5; int sum = i + j; 如果可以使用代表复数的用户定义的类型来编写相同类型的表达式,那当然是最好不过了: Complex i = 5; Complex sum = i原创 2007-03-24 15:56:00 · 5810 阅读 · 0 评论