var 类型推断
根据初始化的值,编译器自己推断数据类型。
var a = 1;
var b = "hello";
a.getType(); // int
b.getType(); // Object.String
//用在遍历中 根据数组或集合类型推断
foreach(var i in 集合)
{
}
static 静态变量
const 常量默认为静态
值类型与引用类型
基本值类型
整形:sbyte,short,int,long,byte,ushort,uint,ulong
浮点数:float,double,decimal
引用类型:Object,String
Object 是C#所有类的父类,它实现了 Equals(),HetHashCode(),GetType();ToString(); 这些方法
String 对 “=” 进行了重载;
String a = "a";
String b = a;
String b = "b";
//此时 字符串 a 没有被修改,而是重新为 b 分配内存 装载 "b"; 如果 = 没有被重载,则 a 被修改为 "b",不会重新分配内存。
结构体为值类型, 值类型如果需要引用传递 需要加关键字 ref
void fun(ref int a);
枚举
public enum COLOR
{
red,
yellow,
black
}
COLOR mcolor = COLOR.red; //直接
COLOR mcolor = (COLOR) Enum.Parse( typeof(COLOR), "red",true);
(int)mcolor ; // 0
名称空间
名称空间的配置方法 公司名.项目名.功能块;
功能块下面包含类 a, b, c,
定义类时:
namespace 公司名.项目名.功能块{
class a{
}
}
当调用 a 时需要: 公司名.项目名.功能块.a
这时我们嫌弃名字过长
这时可以在开头使用
using 公司名.项目名.功能块;
调用时
a.getType();就行了
还可以换个名字
using XX=公司名.项目名.功能块;
调用时
XX::a.getType();就行了