数据类型
const表示定义常量,类型为float类型,public const pi=3.14;
uint无符号常数类型;
m表示decimal类型;
''里面只有一个字符;
隐式表示类型为var,会自己判段类型;
表达式
+-*(取整)/%;
Boolean布尔值,结果为true,flase;
i++先赋值后增加;
++i先增加后赋值;
z=x>y?x:y等价于
if(x>y){
z=x;
}else{
z=y;
};
按位异或^:两个整数二位近制不同结果为1,相同为0;
按位取反~:两个整数二位近制不同结果为0,相同为1;
()可以改变优先级;
结构和枚举
自定义类型变量的方法;
struct(结构体关键字) Student
{
int age;
string name;
}
enum (枚举关键字)DayOfTime: long(不写默认为int,可以加:来让它改变整数类型){
morning=2;(DayOfTime取值只能为这三个)
noon;
afternoon;
}
static void Main(string[] args)
{
Student s1;
s1.age = 1;
Student[] ss = new Student[100];
DayOfTime d1;
d1 = DayOfTime.afternoon;
};
private(本类) default(默认,本包) protected(继承的类使用) public(公共);
abstract(抽象方法);
event(声明事件);
extern(方法在外部实现);
override(基继承对象的新实现);
readonly;
bool类型为false;
类名 对象名=new 类名();
10月20号
构造方法:类名与方法名一样,没有返回值,
};
Person person1=new Person();调用构造方法,创建实例对象,
value关键字为设置属性值;
private String id="0000";
public String ID{
get{ get访问器只读; ==自实现属性 public string ID{get;set;};
return id;
}
set{ set访问器只设;
id=value;
}
};
调用方法为:string a=ID.get; set a=ID.set;
栈是LIFO(last in first out)后进先出 数据结构;
堆FIFO (first in first out) 堆是始终存在的内存区域 new 在堆里面分配内存 ;
static 静态字段 静态方法用的时候不用调用实例对象,直接用类名.方法名调用 ;
类
class Program
{
class Hero
{
private string name;
private int age = 39;
public void lifeadd() {
life++;
}
public Hero{
name="";
life=0;
}
}
static void Main(string[] args)
{
Hero heroone = new Hero();
heroone.lifeadd;
}
}
~hero{ 回收hero类型;
} 回收垃圾,编程软件自带垃圾回收,所以一般不需要写;
调用时方法为:heroone.life=60;
int k=heroone.life;
类里面属性默认类型为private;