- 博客(7)
- 收藏
- 关注
原创 C#泛型的理解
通过泛型可以定义类型安全的数据结构,而无须使用实际的数据类型。在泛型类型定义中,必须通过指定尖括号中的类型参数来声明类型(< T >类型参数实际上并不是特定类型,而只是类型占位符。在创建泛型类型的实例时,必须指定尖括号中的类型。//泛型//泛型 public void Swap < T >(T a , T b) {T c = a;a = b;b = c;Console . WriteLine("swap后a为{0},b为{1}" , a , b);
2024-10-14 20:35:27
1610
原创 C#中接口的理解
接口是用来描述组件对外提供的服务,并在组件和组件之间,组件和客户之间定义交互的标准。一个接口定义了一个协议。一个实现了某个接口的类或结构必须符合它的协议。一个接口可以从多个基接口继承(),而一个类也可以实现多个接口。接口可以包含方法、属性和索引等(即在接口中只能包含方法而。
2024-10-13 15:47:48
623
原创 c#继承中的new、virtual、override
因此,虽然是用compute对象调用自己的playGame方法,但是此时对应内存已经被Lenovo类的playGame方法覆盖了,所以表现形式为使用了Lenovo类的playGame方法。计算机会分配空间存储Lenovo类中所有非静态的成员,在这个过程中,不仅会为自己本身的WriteDocument方法分配空间,同时还会为从Compute类中继承而来的成员分配空间,如下所示。时,实际上compute对象分配的空间是整个Lenovo类的空间,但是compute对象只能调用属于Compute部分的成员。
2024-10-11 13:12:07
1653
原创 C#中事件的理解
2.事件里面是两个方法(即 add_event() 和 remove_event())和一个私有的委托变量,这两个方法里面分别是对这个私有的委托变量进行的合并和移除,当调用事件的 += 时其实是调用的事件里面的 add_event() 方法,同样 -= 调用的是 remove_event() 方法。1.提供了一种封装机制,使得外部代码不能直接调用事件处理方法,而是通过事件接口进行交互,从而提高了代码的安全性和可维护性。1.事件是委托的封装 —— 是一种特殊的委托。
2024-10-10 21:31:27
389
原创 C#中委托的理解
(2)定义所有你要定义的方法,其参数形式和第一步中声明的委托对象的参数形式必须相同。(厨师的菜单库,里面炒菜的要求要和饭店的点菜委托机制保持一致。(1)声明一个委托,其参数形式一定要和想要包含的方法的参数形式一致。步骤2:定义方法,其参数形式和步骤1中声明的委托对象的必须相同。步骤2:定义方法,其参数形式和步骤1中声明的委托对象的必须相同。(3)创建委托对象并将所希望的方法包含在该委托对象中。步骤4:通过委托对象调用包含在其中的方法。步骤4:通过委托对象调用包含在其中的方法。步骤1: 声明一个委托。
2024-10-10 15:52:17
586
原创 tensorflow-gpu安装及注意事项
tensorflow-gpu安装1.CUDA安装打开显卡驱动,找到显卡对应的CUDA版本(如图所示 此电脑显卡对应的cuda为11.3.1)帮助-》系统信息-》组件如图所示,本电脑的CUDA版本为11.3.11.1下载CUDA(https://developer.nvidia.com/cuda-toolkit-archive)进入CUDA官网,选择对应的CUDA版本解压,安装,安装时可自定义路径。1.2CUDA配置环境变量输入nvcc -V 出现如图信息,安装成功2.安装cudn
2022-01-21 12:52:10
1639
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人