![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C#
文章平均质量分 85
C#项目实战
邢美玲
充实过好每一天,遇见未知的自己!
展开
-
C#——初识
What 和VB一样也是面向对象的,但是是运用在.Net Framework之上的高级程序设计语言。当时视频老师讲解的开玩笑讲 # 可以拆分成4个+摞在一起,也就是,它是由C语言和C++衍生出来的另外一个有强大功能的开发语言。C#语言可以开发应用程序---windform ;可以开发网站---ASP.net ; 可以开发手机端---wp8我们后面的学习很多会涉及到C/S和B/S:他们是啥呀?客户机...原创 2018-05-20 21:07:36 · 216 阅读 · 13 评论 -
【 C#重构】——构造方法在修改信息传值时的应用
这个构造方法的应用,来自于一个问题:不用全局变量怎么跨窗体传值?目的:在DataGridView控件中选择单行后进行修改操作正向逻辑:选中单行,点击<修改>控件,把选中的单行信息,传递到 “修改学生信息”窗体的对应文本框中,在“修改学生信息”窗体上进行Select和Update操作。逻辑分析:这里涉及到了两次赋值和实例化第一次://实例化实体层的studentinfo ...原创 2018-11-20 20:28:41 · 432 阅读 · 17 评论 -
【C#重构】——组合查询,存储过程
为什么要用存储过程?在之前的D层中查询一个表的SQL语句可以这样写://查询student_info表里,满足UserID=用户输入的值;SudentID>=用户输入的值string sql = "SELECT * FROM student_info WHERE UserID = @UserID AND StudentID >=@StudentID";但是要实现:用户需要...原创 2018-11-17 10:07:54 · 275 阅读 · 11 评论 -
【C#重构】组合查询
查询学生信息为例: #region 虚方法 //将查询的内容转换成数据库中的列名称 public virtual string ToName(string combo) { return ""; } //获得数据库名称 protected virtual string G...原创 2018-11-18 15:55:39 · 248 阅读 · 14 评论 -
【C#重构】——模板方法在组合查询中的实践
什么是模板方法:模板方法模式,定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可冲定义该算法的某些特定步骤。有趣易懂的解释:推荐博客:作者:Carson_Ho ,原文:模板方法易懂解析背景:小成希望学炒菜:手撕包菜 & 蒜蓉炒菜心冲突:两道菜的炒菜步骤有的重复有的却差异很大,记不住解决方案:利用代码记录下来步骤1: ...原创 2018-11-18 15:58:03 · 248 阅读 · 13 评论 -
【C#重构】——单例模式基础详解&在子父窗体之间的应用实例
单例模式经典问题:工人多次进出工厂,怎么确定是同一个工厂里进行搬运货物?问题原因:两次实例化同一个工厂,那么返回的工厂应该是同一个,但是得到的结果却是2个实例化的不同工厂。改善目标:同一工厂使用多次(实例化多次),都走同一个工厂。通常情况下我们是这些写的:namespace 单例反例{ class Factory { static void Main(s...原创 2018-12-02 11:15:49 · 373 阅读 · 0 评论 -
【C#重构】——CombBox
ComboBox是下拉框1、ComboBox不可以手动添值:DropDownStyle属性设置为DropHownList其他属性值含义:Simple 可以编辑不可下拉DropDown 可以编辑和下拉列表(默认)DropDownList 不可编辑,只有下拉列表2、清空所有ComboBox的值:把所有控件放在一个容器groupBox中,遍历:定义的控件类型 并命名为item ...原创 2018-11-30 11:48:56 · 441 阅读 · 5 评论 -
【C#重构】——限制字符输入
针对ASCII:设置密码,只能输入数字或者Backspace只显示输入0~9数字和回退: 限制只能输入汉字:using System.Text.RegularExpressions;//汉字限制输入的引用 Regex rg = new Regex("^[\u4e00-\u9fa5]$"); if (!rg.IsMatch (e.KeyChar .ToS...原创 2018-12-05 08:52:23 · 368 阅读 · 3 评论 -
【C#重构】——dataGridView基本使用
一、查出的字段设置——列名的命名二、点击任意一个单元格,选中整行方法一: //点击dataGridView的组件时候发生 private void dataGV_Click(object sender, EventArgs e) { //获取行 条件 处在活动状态 索引值 选择一个值 ...原创 2018-12-05 09:46:38 · 297 阅读 · 6 评论 -
【C#】——MessageBox 消息框
不用MessageBox的情况:有的部分用提示框反而麻烦些,可以选择用labal可以提示需要的信息: labShow.Visible = true; labShow.Text = "下机成功";加变量的MessageBox://显示下机消费MessageBox.Show("下机成功,消费金额是:"+ outline.Consume, "温馨提示",MessageBoxBut...原创 2018-12-05 10:20:08 · 375 阅读 · 7 评论 -
【C#重构】——职责链模式在下机实例中的应用
回顾职责链经典问题:发请假协商 :问题原因:请假人本身需要判断时间的多少来给相应的权限的人来发送请求。改善目的:为了减少请假人错误发送,减少操作这边带来失误的影响,减少请假人的操作。改善结构:请假人,只需要发送需要多长时间,请假原因就可以了。中间的处理过程需要程序自己完成,最后接受到的是请假的审批情况。思考:当然这样的要求其实if-else判断也可以实现,为什么要用职责链?需求更改1...原创 2018-12-01 21:08:44 · 260 阅读 · 3 评论 -
【C#重构】——显示信息居中
一、子窗体在父窗体中的居中属性设置:二、所有文本框等在子窗体中居中 设置一个groupBox控件,让groupBox居中显示,里面是所有控件//当窗体登录的时候private void frmSOnOutLine_Load(object sender, EventArgs e) { //显示初始位置居中 thi...原创 2018-12-05 14:30:12 · 390 阅读 · 8 评论 -
【C#重构】——上机余额判断应用的 状态模式
检索所有的教师(操作员ID)选择对应ID显示nameTabConsole控件的选择不同page显示内容的方法原创 2018-12-05 21:23:02 · 288 阅读 · 1 评论 -
RESTful架构中怎么使用post利用Json字符串的序列化实现微信消息推送
推荐大神级博客:C#中Json字符的序列化和反序列化如何给老婆解释什么是REStfulRESTful架构风格概述看完上述博客,相信你已经对RESTful 和Json已经有了详细的认识,如果可以看完整篇博客之后,您可以再回顾一下上面的博客,一定会豁然开朗。整体流程图:先来讲一下要实现的内容:为了保证学生秩序上机练习,设计如下:学生考试前练习的机房——打开手机微信公众号...原创 2019-02-21 17:24:33 · 845 阅读 · 20 评论 -
WCF的实例详解
前一篇我们简单了解的它的实现过程,这一篇,我们简单来理解一下这个过程中他们的不同意义和原理因为是结合第一篇来解释的,所以需要参照上篇:WCF和Web实例WCF服务在不同的宿主上:在上个例子中我们发现,web服务在Web应用程序上,启动时候发布了IIS之后就可以进行引用了;但是在WCF服务在应用程序控制台上引用之后,需要 ServiceHost host = new Service...原创 2019-03-05 18:21:24 · 249 阅读 · 10 评论 -
关于Visual Studio 提示多个引用错误,点击错误后又消失,并无法生成dll文件
因为项目的VS2017使用的 .net Framework有3.5 有4.0,在运行项目的时候提示,项目没有.net Frmawork3.5框架,需要下载什么是.net Framework?是.net 框架,之前提到过框架,编写项目中的载体,是一个编写代码的舞台。它低耦合,代码整洁,注释清晰,也是我们需要学习的底层的代码。它有不同的版本。怎么下载?1、它有很多下载途径,现在很多...原创 2019-04-04 15:21:57 · 2215 阅读 · 4 评论 -
【C#重构】——充值
教师端功能:实现对学生卡号的充值用到的表:student_info 查询相应卡号学生信息;recharge_info充值记录表recharge_info充值记录表UI public partial class frmTRecharge : Form { //窗体默认 public frmTRecharge() { ...原创 2018-10-23 18:45:58 · 899 阅读 · 17 评论 -
【C#重构】——注册
教师端给学生注册功能数据库worklog_info 表功能实现:注册学号、姓名、状态、充值金额 点击注册后卡号自动生成,返回在卡号一栏U层 /// <summary> /// 点击注册 /// </summary> /// <param name="sender"></param&...原创 2018-10-13 20:37:48 · 293 阅读 · 9 评论 -
【C#七层】——全局变量
想要实现功能:教师通过自己的userID和密码进入自己权限的界面后,在显示的登录界面,显示教师的UserName比如:邢美玲,你好!应用方法:全局变量传值,通过登录的UserID查找在D层查找到的table信息返回到B层后,在B层获取,传递给实参user的Username(在Eitiy定义). 再从B层传回去到UI层传递给声明好的全局变量,这样在哪里需要用到这个信息,直接调用就可...原创 2018-09-03 15:15:00 · 520 阅读 · 6 评论 -
C#——符号应用(一)
前言在C#语言中,涉及到了很多符号的用法。一、+:1、连接作用:(直接显示-如下例子1:显示一个人的姓名:邢美玲,年龄:18......)效果: string name = "邢美玲"; int age = 18; string Email = "18832765@13.6"; st...原创 2018-05-26 18:02:01 · 3667 阅读 · 12 评论 -
C#——判断、循环
前言主要总结一下条件判断和循环的讨论,基本上和VB的是雷同的,这里举几个例子:if、 if else、elseif 、do...while...、while。针对这几个例子来对比一下在应用过程中,以及循环语句的选择。if Console.WriteLine("Please write on the year"); string stryear = Co...原创 2018-06-16 09:36:50 · 639 阅读 · 22 评论 -
C# — —运算符应用(二)
前言之前的博客有简单总结过符号应用里面包含了部分运算符应用。这里主要补充运算符部分。这里讲运算符分为一元运算符,和二元运算符还有三元运算符。就像我们初中学习的数学方程式一样有一元二次方程 有二元二次方程有三元二次方程,这里的元意思就是未知数。C#里的元指的是运算符的个数。一元运算符...原创 2018-06-09 10:45:20 · 285 阅读 · 7 评论 -
C#——类型转换规则
前言任何一门编程语言具有相关的数据类型,C#也不例外。数据类型有很多和VB的是相同的:int 、double、string、long、short、float等。数据类型之间是可以相互转换的,不过注意小类型能转换成大类型的,但是大类型的不能转换成效类型的。下面简单介绍几种类型的转换,和例子。一、隐士转换转换规则非常简单,从小范围转换到大范围,如下图:int类型转换成double类型:...原创 2018-06-02 16:20:27 · 2557 阅读 · 7 评论 -
VS激活码
Visual Studio 2017(VS2017版)专业版(Professional)激活码Key:KBJFW -NXHK6-W4WJM-CRMQB-G3CDH企业版(Enterprise)注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF原创 2018-06-30 09:18:51 · 640 阅读 · 10 评论 -
C#——冒泡排序
前言C#中常见的排序方法有:冒泡排序,快速排序,插入排序,选择排序、堆排序以及归并排序。虽然都没怎么实践操作过,但是也有耳闻。今天主要讲这里面最常见的冒泡排序。冒泡排序【描述】如下图:对于学生科的同学一看就这点,这是个烧杯里面有很多的液体,需要用玻璃棒按照一个方向,均匀的搅拌。而这个图中展示的是泡泡从下到上越来越大,知道到达水面破裂。【概念】冒泡排序也就是讲一组需要排序的数,进行从小到大,或从大到...原创 2018-07-01 17:40:17 · 362 阅读 · 6 评论 -
【菜鸟学习设计模式】——初识
设计模式是什么?用一句不讲理的话:世界上本没有路,有的人多了也便成了路;世界上本没有设计模式,用的人多了就总结出了它名字叫设计模式。针对某种特定的问题情况,总结出来的具有套路的解决问题的方法,就是设计模式了。为什么要有设计模式?也就是他能带来啥好处呀?要不我用它干嘛?据说他可以让代码更容易被他人理解,能够保证代码的可靠性,可以重用代码,有效地减少了很多的编程时间,具体其中的好处...原创 2018-07-16 17:58:51 · 231 阅读 · 8 评论 -
C#——基础练习
飞行棋:游戏规则:First:玩家A和玩家B输入自己的游戏名称2th:第一轮玩家A开始投掷骰子,一次轮流进行3th:如果玩家A和B的位置重叠了:A撞了B,那么B退后6格(反之同理)4th:游戏符号含义:图例中的符号表示:幸运转盘○ 地雷:☆ 暂停:△ 时空隧道:√"1、幸运转盘:玩家可以有两个选择:那么选择1——和对方交换位置,2——轰炸对方(使对方回到原点)2、地雷:当前玩家退后6格3、暂...原创 2018-07-13 16:38:56 · 401 阅读 · 8 评论 -
C#——字符串
不可变性在讲解字符串的时候,主要强调了字符串的一个特殊的性质:不可变性。当我们给一个字符串赋值后,如:str="Rebecca":然后我们再给它赋予一个新值:str="小扁扁"。这里Rebecca并没有消失,而是新值“小扁扁”重新有了一块控件存储的新值。只是str的指向变了,一开始指向的是Rebecca,后来有了新值,指向“小扁扁”字符串特点字符数组变成字符串——ToString()字符串变成小写...原创 2018-07-15 16:14:58 · 168 阅读 · 5 评论 -
【菜鸟学习设计模式】——面向对象基础(一)
前言对于面向对象这个词,接触了很多遍,一次一次地深入学习的过程。还需要不断更新,这个系列博客是更具设计模式后面的面向对象的基础内容进行总结的。类与实例我们一起学猫叫,一起喵喵喵!class Cat{ public string Shout() { return"喵"; }}这里class声明类的关键字 Cat是类的名称 Shout是类的方...原创 2018-07-29 16:27:51 · 270 阅读 · 19 评论 -
C#——面向对象
有趣的问题在面向对象的开头提出这样的一个问题:是先有的对象还是先有的类?我们都知道,对象:世间万物都是对象,所有的东西都可以说是一个对象。类:概括来说就是有相同或相似属性的对象的集合,可以说是一个模板。理解这个问题之前先了解一下为啥要面向对象,为什么不可以面向过程,面向别的?做一个比喻:我们现在多多少少都会在家里做做饭,当有人把做好的色香味俱全的红烧肉端到你的面前的时候,你可能会问“大厨”一句:你...原创 2018-07-16 11:56:51 · 287 阅读 · 7 评论 -
VB.NET
心得: 还记得大明湖畔的米老师讲VB吗?打开VB.NET的书,第一反应就是这不是和VB的内容差不多吗?想拿VB的书过来对比一下,看看哪里不一样。先来回顾一下米老师的讲的VB;...原创 2018-08-05 10:53:24 · 1960 阅读 · 6 评论 -
【三层】-—登录窗体为例
What: UI层(显示层) 简单理解为直接和用户进行交互的层次,但并不代表它只有一个界面,它对用户的体验有着很重要的作用特点:简易一致性:风格结构清晰一致色彩的舒适度文字主次分明易用性:易上手傻瓜式操作 BLL(业务逻辑层) 对UI层传入的内容进行逻辑处理后传递给下一层,再由下一层返回值后再进行逻辑处理呈现给用户需要的内容...原创 2018-08-07 11:16:34 · 278 阅读 · 10 评论 -
【C#七层】——登录
需要做的工作:一、定好命名格式规范:解决方案:ComputerChargeSolution七层:UI-Facade-BLL-DAL(里面的类SQLHelper)-Factory-IDAL-Entity登录: 七层的类和接口名: LoginUI-LoginFacade-LoginBLL-LoginDAL-LoginFactory-ILoginIDAL-UserInfo 窗体frm...原创 2018-08-19 16:24:28 · 352 阅读 · 17 评论 -
【C#七层】——登录权限判断
前言 登录三个权限角色:学生,教师,管理员。登录后,分别显示自己拥有权限的窗体 UI层补充部分try { //实例化Entity类为具体对象user //把输入的用户名string类型转换成在entity里定义的int类型 //输入的密码就是int类型的,所以不需要 ...原创 2018-09-03 14:59:58 · 1721 阅读 · 7 评论