C#学习
C#
光哥_帅
技术就是知识,改变命运!!!
展开
-
【C#机房重构】双职责链+策咯模式+实现没钱自动下机
前言:机房重构终于完成了,发现最复杂的地方是下机,这次重构完成了之前VB版没有完成的功能——用户没钱自动下机!如果感觉这个功能很棒的话,那可要看看这篇博客啊!一、流程图职责链一:time代表消费时间 unitTime代表单位递增时间 职责链二:由于会员用户与普通用户的上网单价不同,所以加上一条策略模式与两条职责链模式互相结合!接下来给大家看一下职责链和策咯模...原创 2018-09-01 17:55:50 · 561 阅读 · 26 评论 -
【C#】List高级用法之Sort(), Find() , FindAll() ,Exists()实际应用
public partial class Form1 : Form{ public Form1() { InitializeComponent(); } List<Person> person = new List<Person>(); private void Form1_Load(object sender,...原创 2019-01-08 11:58:11 · 7662 阅读 · 20 评论 -
机房合作小知识点总结
前言机房合作学习到了好多的新的知识,同时对于制作软件的用户体验有了很大的提高!接下来一起看看小的知识点!1、int类型int占32位的时候,最大可以赋值为:2147483647。也就是0x7fffffff。所以当我们输入11位或者大于2147483647的时候系统就会崩溃我们一定要注意这一点!2、使用list如何判断数据库中的null这个问题我是真的搞了一个下午,网上对于datable转...原创 2019-01-02 21:41:43 · 278 阅读 · 10 评论 -
【C#】字段与属性的区别
前言: 最开始接触属性和字段的时候,是在一本vb的书上,当时并没有深入的理解,后来接触到C#这门语言的时候,发现里边的知识真不少,好了,大家跟着小编的脚步一起来看看字段与属性的区别吧!1、二者之间的联系在C#中,对于一些公有字段我们可以无限制的访问,但是这样做的后果是,我们可能错误的修改了字段中的值!使得数据不准确,于是就出现了属性,属性中的get和set解决了访问字段时候出现的问题!...原创 2018-05-03 11:05:23 · 1474 阅读 · 23 评论 -
【C#】 哈希表(HashTable)
1、什么是哈希表哈希表也叫散列表 是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做哈希表。2、哈希表的原理——–汉语词典若键字为k,则其值存放在f(k)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数,按这个思想建立的表为散列...原创 2018-05-11 17:39:57 · 417 阅读 · 18 评论 -
三层架构总结
前言:最进进行了三层架构的学习,给我的最大的感觉就是三层完美的实现了分工合作,完美的实现了高内聚,低耦合的原则!接下来简单的介绍一下三层架构!一、什么是三层结构三层结构通常是指数据访问层(DAL)、业务逻辑层(BLL)、和表示层(UI)UI层在最上层,为用户提供交互式的界面,一般就是我们见到的,眼睛看到的,比如window窗体应用程序或者Web应用程序!它的原则就是用户至上...原创 2018-06-19 12:55:53 · 490 阅读 · 31 评论 -
【C#】七层登陆
前言:学了三层之后,发现分层的好处就是可以实现解耦,但是不可能是完全解耦的,现在有了七层,可以更好的实现高内聚低耦合!一、包图为什么选择包图呢,包图呢其实就是一个包里有很多的类,在C#中可以当成一个命名空间,然后出现的包图如下! 如上图所示,你可能会问这不是8个包吗,为什么不是8层,其实完全可以,这都在于你个人,完全可以把SqlHelper当成一个独立的层!我的登陆系统是把Sql...原创 2018-06-27 21:35:04 · 412 阅读 · 35 评论 -
C# dataGridView 如何改变标题内容以及如何给表头内容换颜色
在接触了dataGridView这个陌生的控件之后,遇到了好多的坎坷,在更改标题内容的时候以及设置标题字体颜色就卡了我一整天,最后还是解决了,下来分享给大家!1、如何修改标题(Header)(这个是在大兵的帮助下)当我从自己的数据库中加载了数据源后,出现的是下图我想将表头中的英文换成中文,但是我发现根本不行,当我改变dataGridView的0行0列的值发现是从第二行开始的!d...原创 2018-07-08 15:58:46 · 25366 阅读 · 24 评论 -
【C#机房重构】解剖式学习将dataGridview导出Excel表
前言:在研究了一天的datagridview之后,又继续研究了将datagridview中的内容导入到excel表的全部代码之后,终于柳暗花明!接下来和我一起来学习吧!1、因为好多的窗体都会用到将数据导出到Excel,所以,我在UI层建了一个专门用来导数据的类using System.Data;using System.Windows.Forms;namespace UI{...原创 2018-07-12 09:28:56 · 379 阅读 · 21 评论 -
【C#】 文档必须包含根级别元素, Resx文件无效,缺少根元素
今天我误删除了VS中的一些东西,然后弹出了:Resx文件无效,缺少根元素!然后在网上查阅了大量的资料,没有找到解决方案,后来自己就凭着自己慢慢捣鼓,解决了此次错误!在VS中我们只要添加图片,自己会自动生成一个文件Resources,而我的就是因为 我的操作不慎,丢失了此文件!接下来一起看看是如何恢复的!在你的当前的解决方案里,点击Properties,你会发现它的下面有一个Resource...原创 2018-07-12 20:45:43 · 6854 阅读 · 20 评论 -
【C#】一次性清空textbox、combobox中所有的内容
在做机房重构的时候,总是会遇到清空所有的代码,比如注册的窗体,如果你每个窗体的清空都写成,像这样:txtcard.text=”“;这样就会出现大量的冗余的代码!这时请看下面的代码,批量清除了所有的控件的内容,如果此时用到这个方法的窗体过多,就可以将它封装成一个类! //清空所有控件里边的内容 private void btnClear_Click(object s...原创 2018-07-24 09:59:22 · 12413 阅读 · 45 评论 -
【C#】""与String.empty的区别
”“与String.empty都是表示的是空字符串,但是他们两个是有区别的,”“表示的是重新开辟内存空间,分配一个长度为空的内存空间! 而String.Empty指向一处。string.Empty不分配内存空间!综上,所以我们一般用string.Empty 。这样以后跨平台更加方便!但是在C#的代码中二者的功能一样,对结果没有任何的影响!...原创 2018-07-24 19:49:30 · 3355 阅读 · 35 评论 -
【C# 机房重构】组合查询 +存储过程+模板方法
前言:组合查询可以说是机房收费系统的核心之一了,在完成这部分的内容让我收获颇多,熟练掌握了封装类,封装方法,构造重载,总之代码的冗余度明显减少,大家一起来看看吧!1、实体层(entity) public class GroupFindTemplate { public string cboField1 { get; set; } public s...原创 2018-08-12 10:20:41 · 1178 阅读 · 62 评论 -
【C# 机房重构】VS2015找不到报表怎么办
前言:最近的机房重构以及接近尾声了,倒是在结尾的时候遇到了一个问题,就是我的VS2015中没有报表,后来通过查看博客,找到了答案,我也在此细致的总结一下!1、打开你的控制面板,找到程序和功能,如图 2、 点击程序和功能,然后找到你的VS2015,右击点击更改,如图!然后在新弹出的框中选中,修改 此时在新弹出的框中选中 Microsoft SQL Server Data ...原创 2018-08-29 09:10:41 · 1048 阅读 · 33 评论 -
【C#机房重构】 结账---存储过程帮了大忙了!
前言之前在用vb做机房收费系统的时候,结账部分调用了大量的数据库中的表,非常之麻烦,这次是用七层的方式进行重构,如果还是按照固有的七个层次去调用表,想想就得疯!最后小编通过查找资料,利用存储过程可以减少超多的代码量! 所以当我们要操作多个表的时候,我们需要想想存储过程喽!在结账之前,我们要有流程图,涉及到几个表,这个在之前的vb的项目画过,很麻烦,这里给一个博客链接https://blo...原创 2018-08-30 11:24:34 · 990 阅读 · 44 评论 -
list与字典的高级用法之合并数据
一、业务需求list中存放的数据结构:id姓名期数截图地址01张三14期Picture0101张三14期Picture0201张三14期Picture0302李四14期Picture0402李四14期Picture0503王二麻子14期Picture0603王 二麻子14期Picture07...原创 2019-05-11 22:06:10 · 845 阅读 · 13 评论