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

笔记

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

时间: 2024-08-30 13:12:30

C#学习笔记之一(basic, class, function,array, collection interface)的相关文章

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

最近学习了C#程序设计的课程, 现在将笔记总结如下, 没有系统整理,都是课上记得notes, 后面几部分以程序居多,因为这些笔记没有做过整理,所以很多code没有详细的注释,如果有时间的话,我会对笔记做系统的整理,还有这里没有提及基本的语法介绍,望大家谅解: Basic: //利用out, 不用给i,j assign初始值 int i,j; f(out i, out j) {} //using, 括号外自动destroy对象 using (Font theFont == new Font("Ar

javascript学习笔记(四)function函数部分_基础知识

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. Jscript 支持两种函数:一类是语言内部的函数(如eval() ),另一类是自己创建的. 在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它.(该变量的作用域是局部的). 您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量. 函数的调用方式 1.普通调用:functionName(实际参数...) 2.通过指向函数的变量去调用: var  myVar

Golang学习笔记(四):array、slice、map_Golang

一.Array 在Go语言中,数组是一个值类型(value type) 所有的值类型变量在赋值和作为参数传递时都将产生一个复制动作 如果作为函数的参数类型,则在函数调用时参数发生数据复制,在函数体中无法修改传入数组的内容 数组相等用 = != 比较,不能用 < > 1.声明&赋值 初始化 语法 复制代码 代码如下: var VarName [n]type     // n>=0 e.g. var a [5]int //[0 0 0 0 0] var c [2][3]int //二

《JavaScript高级编程》学习笔记之object和array引用类型_javascript技巧

本文给大家分享我的javascript高级编程学习笔记之object和array引用类型,涉及到javascript引用类型相关知识,大家一起看看把. 1. Object类型      大多数引用类型值都是Object类型的实例:而且Object也是ECMAScript中使用最多的一个类型.      创建Object实例有如下两种方式: new操作符后跟Object构造函数: var person=new Object( ); person.name="webb"; person.a

API Demos 2.3 学习笔记 (20)-- Views-&amp;gt;Lists-&amp;gt;Array

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> 从本节开始,我们开始接触List方面的内容.List部分的内容主要用到控件ListView.根据我的了解,我喜欢把ListView的应用框架分成三层来理解:数据,适配器,UI.其中,数据主要是一系列特定数据的集合,例如,一个字符串数组等:UI主要是ListView,或者包含ListView控件的ListActivity:适配器则有很多,例如:ArrayAdapter<T>, BaseAdapter, CursorA

php5学习笔记(转)

php5|笔记 作者: whhwq在phpv.net看到的感觉不错/*+-------------------------------------------------------------------------------+| = 本文为Haohappy读<<Core PHP Programming>> | = 中Classes and Objects一章的笔记 | = 翻译为主+个人心得 | = 为避免可能发生的不必要的麻烦请勿转载,谢谢 | = 欢迎批评指正,希望和所有

作为一个新手的Oracle(DBA)学习笔记

Oracle数据库笔记 Jack Chaing 作者QQ595696297 交流群 127591054 祝大家学习进步. 如果大家想看Word版本的可以去下载:Word排版比较清晰一些. http://download.csdn.net/detail/jack__chiang/9810532 此笔记是作者本人去年开始从一个DBA新人的学习笔记,积累至今,希望拿出来给那些对DBA有兴趣的童孩学习,大家一起努力嘛. 此笔记记录了作者工作学习中从零基础的学习的记录,和从中遇见的问题与问题的解决!很高兴

JavaScript高级程序设计(第3版)学习笔记6 初识js对象_基础知识

在房子里面可以放你想放的任意事物--如果你有足够的美学造诣,你甚至可以弄一个房中房试试--当然,为了方便管理,我们会给房子里存放的所有事物都会取上一个不重复的名字,比如医药房间里的各种药品名称.在ECMAScript中,你可以在对象中存放任意你想放的数据,同样,我们需要给存放的数据取一个名字--也就是对象的属性名,再存放各种数据.再看看ECMA-262中对象的定义:无序属性的集合,其属性可以包含简单数据类型值.对象或者函数. 进入对象,我开始有些激动了,说实话,让我想起做这系列学习笔记的最初原因

Android学习笔记45之gson解析json_Android

JSON即JavaScript Object Natation, 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. JSON对象: JSON中对象(Object)以"{"开始, 以"}"结束. 对象中的每一个item都是一个key-value对, 表现为"key:value"的形式, key-value对之间使用逗号分隔. 如:{"name":"coolxing