07 2019 档案
摘要:1.什么是事件,使对象或者类具有通知功能的成员。//为了解决字段在外部被滥用,推出了事件 事件的功能能=通知+可选的事件参数(具体的详细信息,包括谁发送了消息,发送的什么消息) 使用:用于对象或者类件的动作协调与信息传递(消息推送) 事件模型(发生,响应模型),事件是工具,不会主动通知别人,被事件的
阅读全文
摘要:2.隐式异步调用 同步和异步的语言差别,在英语中异步是两个人同时做,同步是我在你的基础上做 同步调用与异步调用的对比 每个程序都是一个进程(process) 每个进程可以有一个或者多个线程(thread) 同步调用时在一个线程内 异步调用的底层机理是多线程(多线程同时访问资源时,要注意线程之间争夺资
阅读全文
摘要:委托是一种类,所以声明的时候尽量和其他类保持平级的位置 委托与所封装的方法必须“类型兼容”,也就是返回值的数据类型一致,参数列表个数和数据类型上一致 delegate double Calc(double x,double y)//委托封装方法的类型 double Add(double x,doub
阅读全文
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace DefineGraph{ class Graph { private const int Number = 10;
阅读全文
摘要:include typedef int (*Cal)(int a,int b);//定义一个函数指针,第一个int是指向函数的返回值的类型,后面括号里面的两个int是指指向函数的参数类型 int Add(int a ,int b) { int result=a+b; return result; } int Sub(int a ,int b) { int result=...
阅读全文
摘要:lambda表达式的出现基本上取代了delegate操作符的使用 使用delegate转变为匿名方法 使用lambda表达式转变为
阅读全文
摘要:*加构造器的快捷件 ctor+两次tab 2.构造器在内存里是怎样操作的 在stack中是从内存地址由高到低分配的,所以叫栈溢出(stackoverflow) 1,对于不带参的构造函数 先在stack中开辟一个空间用来存放引用变量,然后去heap里面根据成员变量类型,依次开辟空间,数据存为0,然后将
阅读全文
摘要:主要涉及到性能的损失 装箱,是把stack里面的值类型,变成一个object的实例,放在heap中。然后在stack里面存储实例的地址。属于隐式类型转换,不丢失精度,但是会损耗性能。 拆箱,是把heap里的实例的数据,搬出来变成值类型,放在stack中,属于显式类型的转换 int x=100;//下
阅读全文
摘要:一、啥是变量? 从表面看变量就是存储 数据的,然而他的本质是存储位置,这个变量还有个类型,来说明啥样的值能放进去。 变量一共有7种:静态变量,实例变量(这东西分配在Heap上),数组元素,(值参数,引用参数,输出参数)这三个在方法种用,局部变量(一般说变量指的就是它,出现在方法体中,这东西内存分配在
阅读全文
摘要:1.win+R输入perfmon(Performance Monitor)打开Performan Monitor,左侧有个黑色的图标 2.点击绿色的加号,打开Add counters的窗口 3.浏览到Process里面的Private bytes.选上 4.在下面instance of select
阅读全文
摘要:是因为Build包含了compile,build既compile了你自己的代码,又把你compile的Assembly和引用别人的Assembly放在一起buiid。
阅读全文
摘要:A data type is homogeneous collection of values,effectiovely presented,equipped with a set of operations which manipulate these values. 作用: 1.存储此类型变量需
阅读全文
摘要:对于两者的区别都是似懂非懂的,有一次确实懂了,回头又给忘了。因为平时也不怎么用,所以不长记性。 这边通过举个树上的栗子,结构体和类的区别来说明两个的不同,结构体属于值类型,类属于引用类型。 一.代表值类型的结构体 SPoint s1=new SPoint(){ x=0,y=0}//这个是结构体,后面
阅读全文