C#学习笔记之一(basic, class, function,array, collection interface)

王朝c#·作者佚名  2006-01-09
宽屏版  字体: |||超大  

最近学习了C#程序设计的课程, 现在将笔记总结如下, 没有系统整理,都是课上记得notes, 后面几部分以程序居多,因为这些笔记没有做过整理,所以很多code没有详细的注释,如果有时间的话,我会对笔记做系统的整理,还有这里没有提及基本的语法介绍,望大家谅解:

Basic:

//利用out, 不用给i,j assign初始值

int i,j;

f(out i, out j) {}

//using, 括号外自动destroy对象

using (Font theFont == new Font("Ariel", 10.0f)){}

//constants

const int i = 32;

//Enumeration

enum E {a=5,b=8}

int i = (int) E.a;

//turn buff data to string

Encoding.ASCII.GetString(buff, 0, bytesRead)

// read data

string s = Console.ReadLine()

int j= Convert.ToInt32(s);

//get textbox value and convert to double

double left = double.Parse(textBox1.Text);

Application.DoEvent(); //this will let app deal with event

array:

A[] a = new A[5]; // a[0]to a[5] is null

int[] arr = new int[2] {1,2}

int[] arr = {2,3,4,5}

foreach(A a in arr_A) {}

for(int i=0; i<arr.Length; i++) {}

//Rectangular Arrays

int[,] rectArray = new int[4,5]

int[,] arr = {{1,2,3,4},{1,2,3,4}{1,2,3,4}}; //init

//Jagged array, 数组中包含数组,各维不等长

// ja[0].Length is length of ja[0]

int [][] ja = new int[4][];

//using params transfer a array to a function

//using f(1,2,3,4) to call the function

f(params int[] values){

foreach (int[] a in values) {}

}

Collection interface:

indexers:

//define a indexers

public Myclass this[int offset] {get{};set{}}

//call it

Employee joe = bostonOffice["Joe"];

IEnumerable:

//return a IEnumerator object

GetEnumerator()

IEnumerator:

Reset(){}

Current(){}

MoveNext(){}

IComparable:

//Class inherit IComparable interface

//Implement CompareTo() method

CompareTo()

ArrayLists:

Count Get number of elements

Add() Add an object

Clear() Remove all objects

Reverse() Reverse order of elements

Sort() Sort the elements

function:

//default by value

f(int x){}

//by reference

f(ref int x){}

class:

//存取:

public, private, protected, internal, protected internal

this, static //static member must be init in class

//继承

class A: B {}

//多态

virtual,override

//init对象

Employee emp1 = new Employee();

//先隐式转换3为Roman

Roman r4 = r1 + 3;

//先显式转换7.5为Roman

Roman r5 = r1 +(Roman)7.5;

// 运算符重载,先返回int, 然后用隐式转换

public static Roman operator+ (Roman l, Roman r)

{

return (l.val+r.val);

}

//显式转换

public static explicit operator Roman(float val)

{

return new Roman(val);

}

//隐式转换

public static implicit operator Roman(int val)

{

return new Roman(val);

}

//properties, 注意大小写

public int Age {

get {return age;}

set {age = value;}

}

//Interface

//interface methods must be implement in class

public interface IA {}

//is 测试类是否从接口继承

if (a is IA) {IA c = (IA) a; }

//as 测试类是否从接口继承

IA c = a as IA;

if (c != null) {}

//interface properties

pubiic interface IAA: IA

{

float F{get;set;}

}

//mutiface interface inheritance

public class C: IA, IB {}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有