C#
日月忽其不淹兮
路漫漫其修远兮 吾将上下而求索
展开
-
C#读取.txt文件
读取.txt文件一般分为全部读取和按行读取:(一)全部读取string testTxt = File.ReadAllText(@"D:\picture\standardStyle\test.txt", Encoding.Default);//testTxt的使用(二)按行读取string path = @"D:\picture\standardStyle\test.txt";St...原创 2020-03-26 09:11:29 · 883 阅读 · 0 评论 -
Visual Studio中C#的引用出现黄色三角形,执行出错
出现这种情况是因为目标框架的版本不同引起的;只需要右击选择【属性】-> 【应用程序】-> 【目标框架】,之后选择相同的目标框架即可转载 2020-03-10 08:31:34 · 5434 阅读 · 0 评论 -
C#绘图:清除部分区域【用指定颜色、透明色】代替
我们知道使用Graphics.Clear()可以清除整个背景;但是想要清除指定区域的背景就很难办;下面的方法可以清除指定区域的背景或者已经绘制的内容,并以指定的格式进行替换:public void ClearBackground(Vector2[] points) { //将Vector2格式转换为PointF[]格式 var off...原创 2020-03-04 12:45:13 · 5165 阅读 · 0 评论 -
.NET Framework生成NuGet包
参考链接这个教程适合于非SDK 样式项目:非 SDK 样式项目:通常为 .NET Framework 项目SDK 样式项目:通常是 .NET Core 和 .NET Standard 项目,以及任何其他 SDK 样式项目(一)下载nuget.exe工具并添加到环境变量将这个.exe安装包下载下来,放在适合的位置;下载地址将上述位置添加到环境变量中,具体添加的方法自行百度;...原创 2020-03-02 18:05:08 · 2510 阅读 · 0 评论 -
解决C#中DrawImage出现渐变色的问题
在C#中当使用DrawImage的时候,当我们需要绘制的空间大于图片本身,很可能出现图片出现渐变色的问题:这是因为DrawImage默认是渐变拉伸,还有一种方式是平铺拉伸;代码比较:(1)使用之前的代码【出现渐变色问题】public void DrawImage(Image image, Vector2[] points) { var of...原创 2020-02-26 22:20:07 · 635 阅读 · 0 评论 -
C#:System.NullReferenceException:未将对象引用设置到对象的实例
问题原因:对象在使用之前未进行初始化;对象为null;【由于某种原因,对象为null,这时候调用会出现这个问题】如果有补充,请留言原创 2020-02-18 12:52:43 · 7512 阅读 · 1 评论 -
C#给画布添加任意角度的文字
(一)先看效果实现任意角度文本绘制:(二)实现方法使用Matrix类,这个类中的RotateAt方法可以指定矩阵旋转的中心位置using System;using System.Collections.Generic;using System.Drawing;using System.Drawing.Drawing2D;using System.Text;namesp...原创 2020-02-13 10:34:54 · 1347 阅读 · 0 评论 -
ADO.NET数据访问技术----【ADO.NET数据访问技术基础及错误总结】
(一)ADO.NET组件与数据库连接1)管理信息系统(MIS)部署方案<1> 完整的应用程序包括客户端和数据库服务端<2>理解ADO.NETActiveX Data objects (ADO)是.NET平台下应用程序和数据源进行交互的一组面向对象类库即:数据访问组件2)ADO.NET主要组件主要包含两部分:.NET 数据提供程序:用于连接到数据库、...原创 2020-02-12 19:56:57 · 484 阅读 · 0 评论 -
C#中DrawString方法的文本对齐方式
(一)文本对齐方式主要是通过新建格式类型:var stringFormat = new StringFormat();public void DrawText(string text , Font font, Brush brush, Vector2 point) { //新建格式 var stringFormat = new St...原创 2020-02-10 13:27:26 · 2282 阅读 · 0 评论 -
C#进阶之LINQ(2)Linq查询语句与查询方法
(一)Linq基础1)Linq解决的问题面向对象编程语言与数据访问方法长期分离,以嵌入式的方式开发,例如:编程语言中的数据类型与数据库中的数据类型形成两套体系,如:C#中的字符串string 在SQL中使用NVarchar/ Varchar/ Char来表示;SQL和XML都有各自的查询语言,而对象没有自己的查询语言,如要从List<>集合或者数组中找到符合要求的元素,非常...原创 2020-02-03 09:41:53 · 6561 阅读 · 0 评论 -
C#进阶之LINQ(1)必备基础知识
(一).NET新特性与LINQ基础(1)推断类型var关键字的使用var可以根据变量的初始值自动推断 局部变量 的类型注意:var只能定义 局部变量,不能定义成员变量;定义的时候必须同时完成 初始化,不能使用var定义变量为null;var本身不是一个新的类型;只是用来修饰一个可以推断出具体类型的局部变量;与object类的区别object类是父类,或者祖先类,任何类型都...原创 2020-02-02 15:20:29 · 481 阅读 · 0 评论 -
C#命名规则和编码规范
1. 用Pascal规则来命名属性、方法、事件和类名public class HelloWorld{ public void SayHello(string name) { }}Pascal规则是指名称中单词的首字母大写 ,如EmployeeSalary、 ConfimationDialog、PlainTextEncoding。2. 用Camel规则来命名成...转载 2020-02-02 14:36:49 · 387 阅读 · 0 评论 -
C#基础之SQL Server(5)数据库的设计
(一)数据库设计的基本步骤1) 数据库设计的重要性节省数据的存储空间;能够保证数据的完整性,方便进行数据库应用程序的开发;2)基本步骤:<1> 需求分析:通过调研,了解客户的实际需求;总结分析客户所需要的管理系统, 究竟要处理哪些数据;<2> 标识对象(实体)并设计对象的属性对象(实体)将来映射为数据库中的数据表;对象的属性,映射为...原创 2020-02-02 14:13:39 · 673 阅读 · 0 评论 -
C#基础之SQL Server(4)常用数据查询
(一)数据的基本查询1)查询过程与基本原理查询与响应过程理解查询服务器执行命令,在原始数据表中查找符合条件的数据,产生一个虚拟表;虚拟表是数据组合后的重新展示,而不是原始的物理数据;简单查询过程:2)查询基本语法结构查询一般有四个基本组成部分:基本查询语法框架:基本查询(1)查询全部行和列select * from Students(2)查询...原创 2020-02-02 00:03:43 · 1550 阅读 · 0 评论 -
C#基础之SQL Server(3)数据完整性的设计
(一)数据完整性设计表中存在不准确、不一致的数据,则数据库失去了“完整性”;数据完整性破坏一般是由数据库的设计不合理导致,应该避免出现;1)完整性约束的类型(常见三种)域(列)完整性:保证列值符合规定要求;实体完整性:保证表中所有的行唯一;引用完整性:要求两个表相同字段具有一致性;2)实体完整性作用:保证实体具有唯一标识;方法:主键约束、标识...原创 2020-02-01 21:09:33 · 1774 阅读 · 0 评论 -
C#基础之SQL Server(2)创建数据库与数据表
(一)数据库的创建1)数据库分类系统数据库和用户数据库;通过查看对象资源管理器来区分数据库类型;注意:master数据库不要动,这个是数据库的数据库;我们主要学习用户数据库;2)用户数据库文件组成数据库物理文件的组成:数据库文件 + 日志文件;注意:一个数据库有且只有一个mdf,但是可以有多个 ndf 和 ldf (但是至少一个)3)创建数据库创建一个主数据文件和一个日...原创 2020-02-01 14:26:49 · 6066 阅读 · 0 评论 -
C#基础之SQL Server(1)认识SQLServer数据库
(一)数据库与数据库管理系统1)目标:掌握数据库的基本操作;掌握数据库的常用查询;能够根据需求设计良好的数据库;2)实体的概念与数据库实体(对象):客观存在的事物都是实体;实体数据存储的要求:按照一定的分类和规律存储;数据库:专门用于存储这些试题的信息的数据集合;数据库的特点:海量存储数据、数据检索非常方便;保持数据信息的一致、完整,并实现数据的共享和安全;通过组合...原创 2020-01-31 22:55:04 · 611 阅读 · 0 评论 -
C# —— OOP/OOD(面向对象编程/分析)经验总结
学习面向对象编程语言实际上是学习好面向对象编程的各种原则、方法、技巧、经验、模式等;注意:下面通过一个项目实战【模拟考试系统】,从这个过程中展示各种方法原则;一、项目需求分析1)试题数据存放在文本文件中,分析格式(后面可以改成数据);2)面向对象程序设计的分析基本步骤:1.分析项目中有哪些类(或者对象)参与程序。分析结果:对象选择的标准:【名词分析法】第一, 这个对象的确能参...原创 2020-01-31 10:38:16 · 917 阅读 · 0 评论 -
C#笔记——【面向对象实战】(一)基于OPP设计新体育彩票选号器
(一)项目概述和效果展示(二)项目面向对象分析1)基于OOP(面向对象编程)设计项目的基本方法项目的类型基于OOP设计小型项目(可以使用数据库,也可以不使用数据库而采用其他数据源)没有数据库的项目:要求使用OOP思想和方法,完成项目各个类的设计,确定各个类之间的关系;【纯面向对象】有数据库的项目:项目的框架和思路是相对固定的,在框架的约束下开发相对会更容易;常见框架:三层架构、...原创 2020-01-30 17:32:24 · 629 阅读 · 5 评论 -
visual Studio快捷键
调试相关的快捷键ctrl+F5 :编译并运行程序代码编辑相关的快捷键Ctrl+F: 查找 (Find)Ctrl+Shift+F: 在文件中查找Ctrl+H: 替换Ctrl+Shift+H: 在文件中替换SHIFT+END:选至行尾SHIFT+HOME:选至行开始处CTRL+SHIFT+HOME:选至文档开始处CTRL+SHIFT+END:选至文档末尾CTRL+K CTRL+...转载 2020-01-30 16:58:55 · 155 阅读 · 0 评论 -
C#笔记——【面向对象基础】(九)对象序列化与XML文件
(一)对象序列化与反序列化1)文本保存对象的不足当对象属性发生变化的时候,需要增加或者减少信息的写入或者读取次数;信息安全性较差;2)对象保存的新方法:使用序列化和反序列化保存和还原对象;相对象作为一个整体,一次性保存,而后一次性还原;注意:集合对象也可以保存;对文件保存尽量使用序列化和反序列化,当然对于一般的小文件直接使用文本文件也是可以的;3)序列化的具体操作:错误...原创 2020-01-29 11:51:17 · 354 阅读 · 0 评论 -
C#笔记——【面向对象基础】(八)文件与目录操作
(一)文本文件操作的基本要求1)数据存取与文件操作数据的存取方式:数据库存取->适合大量、关系复杂并有序的数据存取;文件存取->适合大量、关系简答的数据存取,如系统的日志文件等;文件存取的好处:读取操作方便;文件可以存储在任何介质中;文件存取的方式:2)需要实现的功能写入文件:写入文件步骤:创建文件流创建写入器以流的方式写入数据关闭写入器关...原创 2020-01-28 22:33:31 · 458 阅读 · 0 评论 -
C#笔记——【面向对象基础】(七)Windows项目界面的设计(2)
(一)添加新学员窗体设计按钮左右的方框实际上是PictureBox,在属性中修改想要的样式;使用容器中的GroupBox,可以集中管理控件实现的效果如下:使用RadioButton设置如下选择键:使用DateTimePicker设置时间:时间的格式可以自定义为:yyyy-MM-dd,这样得出下面的格式使用ComboBox设置下拉框:【Web中称之为DropDo...原创 2020-01-28 16:10:38 · 244 阅读 · 0 评论 -
C#笔记——【面向对象基础】(六)Windows项目界面的设计(1)
(一)项目框架基础搭建与用户登录窗体设计主要是属性窗口和工具栏的使用;左边的图片:工具栏的图片框;登录账号、密码:label;空白栏:TextBox;下面的两个按钮:Button;注意:之后分别设置各自的属性即可;(二)菜单栏和状态栏的设计方法使用菜单和工具栏中MenuStrip设置菜单栏;使用(字母+&)设置快捷键,使用ALT+字母选定快捷键;使用菜单和工具...原创 2020-01-28 13:27:36 · 371 阅读 · 0 评论 -
C#笔记——【面向对象基础】(五)Windows窗体与事件驱动
(一)WinForm开发环境的使用方法1)软件部署的架构B/S架构的应用程序【web应用程序】(浏览器Browser/ 服务器Server)C/S 架构应用程序(Windows、WinForm、桌面应用程序):客户端/服务器(Client/ Server)2)创建Windows应用程序1. 在Visual Stuido中创建Windows应用程序的步骤:打开Vis...原创 2020-01-27 23:33:10 · 554 阅读 · 0 评论 -
C#笔记——【面向对象基础】(四)集合在OOP中的应用
(一)泛型集合List1)引入数组的局限性:数组元素个数是固定的,数组一旦定义,就无法改变元素总数。如果需求变化,则必须修改源码;如果初始化元素总数非常大,则造成空间浪费;集合的特点:根据需要动态增加元素个数,没有限制;2)泛型集合1. List泛型集合的特点:表示泛型,T是Type的简写,表示当前不确定具体类型;可以根据用户的实际需要,确定当前集合需要存放的数据类型...原创 2020-01-27 16:16:36 · 268 阅读 · 0 评论 -
C#笔记——【面向对象基础】(三)对象构造、销毁与对象类型
(一)构造方法的使用构造方法又称之为构造函数;所谓构造方法,要求和这个类的名字完全一致,在new的时候回用到这个;如果没有构造的话,系统会默认构建一个;对象创建时,首先初始化成员变量,然后调用构造函数;因此,在构造方法中可以添加任意需要的初始化内容;通过使用构造方法,可以简化对象初始化代码实例化一个对象实际上就是调用这个对象的构造方法;构造函数可以重载、使用带参数的构造...原创 2020-01-26 09:17:09 · 1013 阅读 · 0 评论 -
C#笔记——【面向对象基础】(二)方法与方法重载
(一)方法的定义和使用1)方法的定义对象的动态特征就是方法,表示这个对象能做什么;类型:实例方法、静态方法、(构造方法、抽象方法 、虚方法);方法定义要求:注意:访问修饰符:默认是private,根据需要定义为public;方法的命名:一般是“动词”或者“动宾短语”,Pascal命名法,不能以数字开头;参数列表:根据需要添加;也可以无参数(省略 );参数列表要求:<类...原创 2020-01-23 23:11:05 · 197 阅读 · 0 评论 -
C#笔记——【面向对象基础】(一)类与对象的概念及属性
(一)类与对象的概念及属性原创 2020-01-23 16:40:49 · 472 阅读 · 0 评论 -
C#资源回收和IDisposable接口的使用
源码地址:https://github.com/hiramtan/HiFramework_unity/blob/master/unity/Assets/HiFramework/Extensions/ObjectBase.cs在说资源回收之前先要说明托管资源和非托管资源。1.托管资源由CLR来维护,自动进行垃圾回收,比如数组。2.非托管资源不会进行自动垃圾回收,需要手动释放,比如句柄。但在C#中的非...转载 2020-01-21 18:50:00 · 328 阅读 · 0 评论 -
C#<基础知识>学习笔记(6)——【方法/函数】
(一)方法/函数的调用问题被调用函数想要得到调用者的值:传入参数;使用静态字段来模拟全局变量;C#中没有全局变量这个概念,但是使用静态字段来模拟全局变量;在类和函数之间://字段, 属于类的字段public static int _number = 10;调用者得到被调用者的值返回值;使用out参数(详见下面)被调用函数的参数是形参,调用者传入的是实参;但是都...原创 2020-01-20 23:34:49 · 209 阅读 · 0 评论 -
C#<基础知识>学习笔记(5)——【复杂数据类型】
(一)常量常量是不能改变的,不能重新赋值//从表面上看是多了一个constconst 变量类型 变量名=值;(二)枚举枚举可以用来规范开发;枚举声明在:命名空间与类之间;表示这个命名空间下所有的类都可以使用这个枚举;枚举就是一个变量类型,只是枚举声明、赋值、使用的方式和普通的变量类型不一样,//语法[public] enum 枚举名{ 值1; 值2; 值3; ...原创 2020-01-19 23:07:25 · 177 阅读 · 0 评论 -
C#<基础知识>学习笔记(4)——【流程控制】
(一)异常捕获定义:语法上没有错误,在程序运行的过程中,由于某些原因出现了错误,不能正常运行//程序中经常出现各种异常,为了让代码程序更加鲁棒,经常使用try-catch来进行异常捕获try{ 可能出行异常的代码;}catch{ 出现异常后,执行的代码;}//执过程中,如果try中 代码未出现异常,catch中的代码不会执行;//如果出行异常,后面的代码不再执行,转而执行c...原创 2020-01-18 17:35:37 · 201 阅读 · 0 评论 -
C#<基础知识>学习笔记(3)——【运算符】
(一)convert类型转换类型相兼容的两个变量,可以使用自动类型转换或者强制类型转换;当两个变量类型不兼容的时候,使用Convert//使用Convert,下面有很多转换类型double d = Convert.ToDouble("123.456789");Console.WriteLine("这个数字是{0:0.00}", d);//输出123.46(数字Double类型);在...原创 2020-01-17 00:18:40 · 143 阅读 · 0 评论 -
C#之Lambda表达式
本文转载仅用于个人学习,侵删 C#中Lambda表达式总结 在C#的语法中有一种比较特殊的写法,叫做Lambda表达式,这种表达式的写法在于你查询数据的时候直接是使用以下箭头的形式来表示查询语句的:=>。例如,我们要查找学生的List<Stud...转载 2020-01-14 08:07:58 · 582 阅读 · 0 评论 -
C#<基础知识>学习笔记(2)——【C#基础】
(一)注释注释有两种作用:一是解释,一是注销(不再执行)三种:单行注释://开头;多行注释:/*注释内容*/;文档注释:///多用来解释类或者方法;(二)常用快捷键Ctrl+k+d:快速代码对齐【代码中存在语法错误是不行的】;Ctrl+s:保存;(要经常保存)Ctrl+z:撤销;Ctrl+j:快速弹出只能提示;(尽量不要用智能提示)shift+End、shift+Hom...原创 2020-01-14 08:01:02 · 170 阅读 · 0 评论 -
C#<基础知识>学习笔记(1)——【预备知识】
(一).NET通常指的是.NET平台和 .Net FrameWork框架;其中.Net FrameWork框架是.NET平台不可或缺的一部分,它提供了一个稳定的运行环境,来保障我们基于.NET平台开发的各种应用能正常的运转;.NET FramWork包含两部分,一个是CLR(公共语言运行时),一个是.NET类库(二)C#变成语言这是一种编程语言,可以开发基于.net平台的应用J...原创 2020-01-12 17:40:58 · 168 阅读 · 0 评论