构成C#的基本元素
- 关键词 keyword
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
- 操作符 operator
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/
-
标识符 identifier
非要用关键词的话:@ + keyword -
标点符号
-
文本
-
注释与空白
注释:ctrl EC
解注释 ctrl KU
格式整理: ctrl + ED
方法
又称算法
强类型编程语言/弱类型编程语言
是否受数据类型约束
C#:强类型编程语言
// dynamic 类型 ,模仿JS的var
dynamic myVar = 111;
myVar = "ok";
Console.WriteLine(myVar);
数据类型 value type
一个数据类型知道自己的父类是什么
Type myType = typeof(Form);
Console.WriteLine(myType);
Console.WriteLine(myType.BaseType.FullName);
一个数据类型知道自己有哪些属性
PropertyInfo[] propertyInfos = myType.GetProperties();
// MethodInfo[] methodInfos = myType.GetMethods();
foreach(var p in propertyInfos)
{
Console.WriteLine(p);
}
程序运行时,此类型的变量知道自己分配在内存的什么位置
静态程序在硬盘中,动态在内存中。
内存中:栈和堆
栈: 方法 比较小,栈溢出(stack flow)
stackalloc
堆: 对象 比较大, 内存泄漏
C#有垃圾收集器,不用手动释放内存
performance monitor 监视内存