最近学习了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 //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 {}

