C# 基础(更新中)

Data Structure#
There’re two types of variables in C#, reference type and value type.
Enum:

enum Color{
Red=0,
Green=1
}

//equals to
enum Color{
Red,//start from 0 as default
Green
}
int to enum:(Color)val

Arrays and Collections#
Array#
declare array:

new int[10]
new int[10]{xx,xx…};
new int[]{aa,aa};
Collection#
List theList=new List();//can use value type here, not only reference type
theList.Count;//size of the list
class#
when calling same name class with different namespace, it will use class of same namespace first, then System namespace.

fields and properties#
can’t use var to declare fields like var count=0,must use int count=0
const is static, so we can’t use them together like public static const int count=0
rules of naming fields and property: first letter with uppercase is public, first letter with lowercase is private.
Auto-implemented property: remove their private fields.
initiate with default: public MyClass val {get;set;} = new MyClass();

anonymous type#
for the cases:

only use in one function and not need for other functions
only exists for only short time, and will be stored to other places
var val=new {name=‘Alex’, age=12};

Extensions#
class TheExtensionClass{
public int toInt(this string value){
return int.Parse(value);
}
}

//so that the function can be called on string
str.toInt();
function#
out, in and ref#
if use out/in/ref for value type variable, then it will convert to reference type.
must initiate out variable in the function before use it.

default parameter and named parameter#
Default parameter

must declared after non-default parameter
if we don’t want to give value to the first default parameter but want to give the second default parameter, we can’t do this without named parameter
Named parameter:
can call the function and break the sequence of parameters, especially for default parameter

special function:lambda#
for the cases:

short function
var res=theList.Find(MyFunc);
boolean MyFunc(Student aStudent){
return studentName=“abc”;
}

theList.Find(student=>{
return studentName=“abc”;
});

theList.Find(student=> studentName=“abc”);
Event and asynchronous programming#
Event#
for the cases:
when executing monitor function, it will automatically execute the monitored function

declare Action variable in class A:Action action
binding the action variable to f2 (monitored function) of class B:action+=f2
trigger the event: in f3(monitor function) call the action with action();

asynchronous programming

vb.net教程
c#教程
like event
RequestSupport(CallBackFunc)
Exception and log#
Exception#
try{
}catch{
}
try{
}catch(FormatException){
}
try{
}catch(FormatException e){
print e;
print e.Message;
}
Log#
作者: Fanny123

出处:https://www.cnblogs.com/FannyChung/p/csharpbasic.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值