C#
C#学习
Marshall Ren
这个人很懒,什么也没有留下
展开
-
IntPtr类型
一:什么是IntPtr先来看看MSDN上说的:用于表示指针或句柄的平台特定类型。这个其实说出了这样两个事实,IntPtr 可以用来表示指针或句柄、它是一个平台特定类型。C#中的IntPtr类型称为“平台特定的整数类型”,它们用于本机资源,如窗口句柄。资源的大小取决于使用的硬件和操作系统,但其大小总是足以包含系统的指针(因此也可以包含资源的名称)。 所以,在您调用的API函数中一定有类似窗体...转载 2019-11-18 10:15:47 · 2131 阅读 · 0 评论 -
C#机房合作用到的一些语法
1.背景色与透明度篇:用RGB设置背景颜色:label1.BackColor = Color.FromArgb(255,255,255);设置背景色透明度:(在上面的基础上,在三位RGB数前加一个透明度数,0为完全透明,100为完全不透明)panel1.BackColor = Color.FromArgb(85, 64, 64, 64);2.Panel篇:2.1 ...原创 2019-08-26 19:52:53 · 237 阅读 · 14 评论 -
三层总结
前言:三层的内容其实并不多--只是一个软件层次的划分。当然,不要小看这只用一天就能学完的项目:它会让我们今后对软件的认识有着更标准、更清晰的分类。一、三层结构概述1.两层结构与三层结构: 1.1 两层结构:C/S(客户/服务器) 1.2 三层结构:B/S(浏览器/服务器)2.多层结构的划分方式:物理方式/逻辑方式*1.中所的三层结构划分的...原创 2019-04-02 10:01:39 · 260 阅读 · 6 评论 -
C#机房重构中的封装
前言:刚开始敲机房重构的时候,除了接触船新的界面和语法,改善了界面和使用了七层之外,好像自己也没感觉在UI层有什么其他的新知识点,而且最严重的是,自己的代码冗余问题还是没有解决。因此一直觉得自己不知道该怎么继续往下敲下去。直到自己看了来自https://blog.csdn.net/jerry11112/article/details/81603976的一篇博客中,偶然提到的“封装”,我恍然大悟...原创 2019-05-21 15:39:36 · 244 阅读 · 5 评论 -
C#机房重构:上下机+动态计费
前言:经历了之前计费收费系统中动态计费这个难点与前几天的C#版机房重构的小试牛刀,自己信心满满地开始了重构版机房的动态计费以及核心内容的完成:上下机。话不多说,我们开始吧。流程图:关键点:1.在DAL层对用户的状态进行改变,UI层时钟开始计时,从而上机;2.计时期间定期将余额更新至数据库,并判断学生是否余额充足;3.下机时,禁用计时时钟,通过UI层改变用户状态、...原创 2019-05-16 20:23:55 · 394 阅读 · 3 评论 -
C#机房重构-七层登陆问题汇总
前言:经历了千难万险,登陆的基本功能终于实现了--当输入正确的账户与密码,点击登陆,弹出了另一个窗体的时候,自己心里终于轻松地出了一口气。不过,回想起自己经历的各种错误与秃头时刻,自己还是要继续总结错误的,因此,如下是我的总结。0.基础问题0.1 登陆界面用代码设置屏幕中心在UI层的登陆功能中,我想给窗体设置一些属性,虽然在属性窗口种可以给它设置,但是我们要了解一点:能在代码中写...原创 2019-04-28 10:12:41 · 330 阅读 · 6 评论 -
C#机房重构-七层登陆
前言:心心念念的机房重构终于开始了,自己也在不懈的努力下完成了基本功能,并在其中加上了一些自己的想法,不得不说这是一件很有自豪感的事情。话不多说,我们开始吧。一、创建七层次:UI层1.1 新建解决方案并选择建立项目的类型。1.2 打开UI层下的配置文件App.config,输入如下代码:<?xml version="1.0" encoding="utf-...原创 2019-04-28 08:57:22 · 301 阅读 · 2 评论 -
C#:里氏替换
前言:前阵子写了一篇有关里氏替换的博客,不过后来不小心误删了...不过也好,自己之前的知识理解不够透彻,特此重写一篇。 里式转化:子类型必须能替换掉它们的父类型。在C#中与继承相理解:建立一个抽象的父类,而父类中没有具体的方法体,所以要通过具体的子类替换掉父类来实现功能。延伸理解:儿子终有一天要变成父亲来继承父业。在这里儿子指子类,父亲指父类,继承父业就指代实现功能。 下面...原创 2019-02-17 17:23:52 · 962 阅读 · 9 评论 -
C#:实例化
可能大家看到我这篇博客标题有些费解:C#视频都快学完了,你怎么还在纠结实例化这类基本概念?别急,学习就是一个循循渐进、利用新知完善旧解的过程,正因为这个概念是基本概念,我们更要将其搞懂。 相信学了这么长时间的C#视频,大家对实例化肯定一点也不陌生:就是将一个类实现成为一个对象。类是抽象的,而对象是具体的。详情可以看一下我之前的博客:对象与类的区别。 那么,以一个特别简单的代码开始我...原创 2019-02-16 17:48:16 · 9828 阅读 · 9 评论 -
C#:索引器
上篇博客说到:我本来是想讲解有关索引器的概念,无奈后来发现自己对List等的概念理解不够深刻,又重写复习了一遍,因此今天我们就来讲解有关索引器的使用。 索引器:索引器允许类或者结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于他们的访问采用参数。 ...原创 2019-01-29 08:58:31 · 369 阅读 · 6 评论 -
C#:接口
前言:对于接口这一概念,前几天我的一个学长用这个问题考了我一下,结果我没有答上来...恰巧今天就遇到了这个问题,那么我们今天就来了解一下这个概念吧。(注,今天我仅写有关软件类接口,硬件接口暂时不谈) 接口的定义:(软件类接口)是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作...原创 2019-01-26 21:12:47 · 2312 阅读 · 6 评论 -
C#:虚方法与抽象方法
在本片开始介绍这两个方法之前,我们需要先了解多态这一概念。 我在在百度百科上找到了其中一个对于多态有着较为易理解的解释:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。这句话对于学习过面向对象的人来说,还是比较好理解的:一个同样的方法名,有不同的方法体,可以产生不同的结果。那么,如果直接在C#中写下两个相同的方法名时,会发生什么事情呢?提示的意思为子类方法与父类方法...原创 2019-01-25 09:59:18 · 782 阅读 · 5 评论 -
C#:哈希表
哈希表(HashTable):是根据关键码值(Key,Value)而直接访问的数据结构。通过把关键码值映射到表中一个位置来访问记录,以加快查找速度。 ...原创 2019-01-22 10:18:30 · 1203 阅读 · 5 评论 -
C#:继承
前面我们学到了有关面向对象的概念,而继承正是面向对象三大特征之一(其他两点分别是多态、封装)。 继承在百度上的定义:继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。 这句话说明了继承的两个作用:1.使子类具有父类的属性和方法。2.子类可重新定义、追加属性和方法等。 我们今天就来讲解第一个作用。 第一句话从字面意义上来讲已经把继承的这个作用...原创 2019-01-19 09:15:42 · 372 阅读 · 4 评论 -
C#:面向对象技术-对象与类
面向对象技术(OOP)是我们在学习过程中非常重要的一个概念,像现在最主流的Java语言就是面向对象语言,而即使是已经被淘汰但却很易于上手的VB,也部分包含了面向对象的一些特点,是我们必须要掌握的一个知识点。既然说到面向对象技术,就不得不提对象。对象是指所有看得见、摸得着的且特指的一个事物,比如,桌子是不是对象?可能很多人一听,觉得桌子看得见、摸得着,就会回答“是”,但因为这个桌子并不是特指的(一...原创 2019-01-17 19:32:08 · 1279 阅读 · 4 评论 -
C#:方法(函数)介绍
方法(函数)是将一堆代码进行重用的机制。*注:由于在C#中,方法与函数已无本质区别,因此在下文中所有涉及二者的名称都用方法二字代替,不打出函数。最基本的方法的语法:[访问修饰符] static 返回值 方法名([参数列表]){ 方法体}其中,方法名的首字母需要大写。方法的分类:方法名前有void:该方法无返回值;()内为空:该方法无执行参数。举例:1.二者都没有的...原创 2019-01-17 16:29:42 · 2362 阅读 · 3 评论 -
C#:枚举与结构体的小总结
前言:经过了一段时间的C#学习,现在已经学到了枚举与结构:这两类与之前学的不同的地方在于,终于要开始学习这类框架类的语法了(之前学习的都是些零散的知识点) 。首先谈一谈枚举。枚举在百度上的定义:一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。举个例子,比如我定义一个Gender的枚举名,那么这个枚举名里就要包含“男”和“女”这两个枚举值。当然你要想定义一个人妖我...原创 2018-12-18 18:16:30 · 760 阅读 · 8 评论