- 博客(153)
- 资源 (5)
- 问答 (2)
- 收藏
- 关注
原创 C# 杂项一一测试界面实现中英文切换
我们在做项目的时候,经常会通过菜单栏来实现测试界面的中英文切换,如下所示:当程序切换到中文时,界面显示中文,切换到英文时,界面显示英文1.首先我们为菜单按钮添加响应事件:private void SetMenuClickEvent(){ //option toolStripMenuItem_option_language_cn.Click += new System.Eve...
2019-08-28 16:16:16
3283
1
原创 C# 杂项一一Enum枚举转换
有时候,我们需要针对枚举与字符之间做相应转换,这个时候我们可以通过反射获取Enum对应的字段属性进行转换using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ComponentModel;namespace ConsoleApp1{ /...
2019-08-23 10:57:05
843
原创 C# XML一一序列化与反序列化
XML序列化:使用XmlSerializer将公共数据存储为XML的过程XmlSerializer xs = new XmlSerializer(obj.GetType());xs.Serialize(fs, obj); //Serialize输出可以是Stream,TextWriter或XmlWriter实例XML反序列化:将XML实例转换回数据对象XmlSerializer ...
2019-07-31 16:41:38
525
转载 C# 设计模式一一模板方法模式
一、定义 在一个抽象类中定义一个操作中的算法骨架(对应于生活中的大家下载的模板),而将一些步骤延迟到子类中去实现(对应于我们根据自己的情况向模板填充内容)。模板方法使得子类可以不改变一个算法的结构前提下,重新定义算法的某些特定步骤,模板方法模式把不变行为搬到超类中,从而去除了子类中的重复代码。二、结构图三、示例//抽象模板角色(Vegetable扮演这个角色):定...
2019-03-26 09:52:53
265
转载 C# 设计模式一一原型模式
一、定义原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。二、结构图原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节。三、实例//工作经历类class WorkExperience{ public string WorkDate { get; set; } public string Compa...
2019-03-25 13:47:51
338
转载 C# 设计模式一一工厂方法模式
前面我们讲述了简单工厂模式,提到其缺点是系统难以扩展,一旦添加新产品就不得不修改简单工厂方法,这样造成简单工厂方法的实现逻辑过于复杂。本节介绍的工厂方法模式可以解决这个问题。一、定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。二、结构图三、实例与简单工厂一致,我们先构建运算类,然后各运算子类继承该基类pub...
2019-03-21 23:05:15
240
转载 C# 设计模式一一装饰模式
一、定义动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。二、结构图 装饰模式就是利用SetComponent来对对象进行包装的。这样每个装饰对象的实现就和如何使用这个对象分离开了,每个装饰对象只关心自己的功能,不需要关心如何被添加到对象链当中。三、实例 如果只有一个ConcreteComponent类而没有抽象的C...
2019-03-21 10:55:09
227
转载 C# 设计模式一一六大基本原则
一、单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理...
2019-03-20 00:50:26
431
原创 C# 设计模式一一策略模式
一、定义 它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。二、结构图 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开,委派给不同的对象负责。策略模式通常把一系列的算法包装到一系列的策略类里面。用一句话慨括策略模式就是——“将每个算法封装到不同的策略类中,使得它们可以互换”。下面是策略模式的结构...
2019-03-19 18:03:46
362
原创 C# 设计模式一一简单工厂模式
一、定义 简单工厂模式我们也可以理解为负责生产对象的一个类,二、设计原则 封装改变,既然要封装改变,自然也就要找到改变的代码,然后把改变的代码用类来封装。三、示例演变实现两个数的运算public class Operation{ public double NumberA { get; set; } public double ...
2019-03-19 12:24:48
198
转载 C# 设计模式一一单例模式
一、定义保证一个类仅有一个实例,并提供一个访问它的全局访问点。二、应用操作系统中只能有一个任务管理器,操作文件时,同一时间内只允许一个实例对其操作等。三、实现方式一:适用于单线程应用程序using System;using System.Collections.Generic;using System.Linq;using System.Text;using Sy...
2019-03-14 10:51:38
206
原创 C# 入门一一扩展方法
概念:用来扩展已定义类型中的方法成员的一种方法。用途:如果想为一个已有类型自定义含有特殊逻辑的新方法时,不想通过重新定义一个类型来继承已有类型的方式去添加该方法,另外当已有类型为值类型或密封类(不能被继承的类)等也不能被继承时,我们可以使用扩展方法来解决。示例:using System;using System.Collections.Generic;using System.L...
2019-03-13 09:54:52
200
原创 C# 入门一一Lambda表达式
定义:Lambda表达式可以理解为一个匿名方法,它可以包含表达式和语句,并且用于创建委托或转换为表达式树。使用“=>”运算符,该运算符左边是匿名方法的输入参数,右边是表达式或语句块。用法一:创建委托public class Friend{ public string Name; public Friend( string name ) { Name = name;...
2019-03-12 17:21:27
398
原创 C# 入门一一可空类型、匿名方法和迭代器
一、可空类型定义:可空类型也是值类型,但它是包含null值的值类型。有两种表示方式,如下://T?a 类型 ---第一种int? value = 1;//Nullable<T> ---第二种Nullable<int> value = 1; 代码可以通过HasValue属性来判断可空类型是否有值:如果有值则直接输出可空类型的值;如果没有值,...
2019-03-11 23:45:46
348
原创 C# 入门一一泛型
一、定义泛型:通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。//Compare<T>为泛型类,T为类型参数public class Compare<T> where T : IComparable{ public static T CompareGeneric( T t1, T t2 ) { i...
2019-03-11 16:31:15
251
原创 C# 入门一一值类型和引用类型
一、值类型和引用类型的区别上表区别中,关于值的存储方式:通常被分配在线程的堆栈上,表明还有个例:(1). 在引用类型中嵌套值类型(2). 值类型装箱这两种情况下,值类型的实例会被分配到托管堆中。1. 引用类型中嵌套定义值类型 如果类的字段类型是值类型,它将作为引用类型实例的一部分,被分配到托管堆中。但那些作为局部变量(例如下列代码中的c变量)的值类型,则仍会被...
2019-03-11 12:17:08
231
原创 C# 入门一一面向对象
面向对象的三个基本特征:封装——把客观事物封装成类,并将类内部的实现隐藏,以保证数据的完整性。继承——通过继承可以复用父类的代码。多态——允许将子对象赋值给父对象的一种能力。一、封装定义:把内部的数据隐藏起来,不让对象实例直接对其操作。C#提供了属性机制来对类内部的状态进行操作。在C#中封装可以通过public、private、protected和internal等关键字来...
2019-03-09 11:12:48
258
原创 C# 入门一一事件(event)的应用:如何在TextBox控件中实时显示Log
上一章节我们介绍了事件(event)的相关用法,那么我们利用所学知识,实现在TextBox控件中实时显示Log的一个功能。同样,针对事件,我们需要明确事件的两类角色:1.事件发布者:是指触发事件的对象,本例中,Log每写一行数据便触发相应事件2.事件订阅者:是指捕获事件并作出相应处理,本例中,捕获到Log每次写入一行这个事件,作出实时在TextBox控件中显示的处理接下来,我们按照...
2019-03-08 18:32:10
4495
原创 C# 入门一一事件(event)
一、什么是事件事件涉及两类角色——事件发布者和事件订阅者事件发布者:是指触发事件的对象,发布消息。事件订阅者:是指捕获事件并作出相应处理。二、使用事件我们先来查看一个完整的使用事件示例:示例一:using System;using System.Collections.Generic;using System.Linq;using System.Text;n...
2019-03-08 16:58:54
1250
原创 C# 多线程一一线程基础
1. 线程创建,暂停,终止using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace Recipe1{ class Program { static void PrintNumb...
2019-03-05 16:57:29
214
原创 adb一一设备管理器中存在adb端口,但是cmd指令adb devices查询不到的解决方法
最近,手机adb调试的时候,发现设备管理器中存在adb端口,但是cmd指令adb devices查询不到的情况Microsoft Windows [版本 10.0.17763.134](c) 2018 Microsoft Corporation。保留所有权利。C:\Users\admin>adb devicesList of devices attached然后,通过网...
2019-03-01 15:05:09
4080
原创 SQL Server一一数据读取器
1. 数据读取器概述数据读取器不能直接实例化,而是通过执行命令对象的ExecuteReader方法创建它的实例。SqlDataReader rdr = cmd.ExecuteReader();该数据读取器可用来访问查询的结果集。(1). 使用序数索引器示例使用while循环完成读取每行记录,由于Read()表示如果存在下一行,该方法返回true,否则,返回falsewh...
2019-02-22 23:45:46
1822
2
原创 SQL Server一一执行ADO.NET命令,检索数据
数据库应用程序的开发流程一般主要分为以下几个步骤:创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet对象读取和处理数据源的数据 建立与数据库连接后,就可以开始与它交互并利用它完成一些有用的事情,例如检索,添加,更新或者删除一些数据,或者以其他方式修改数据库。 本...
2019-02-22 22:09:53
1296
4
原创 SQL Server一一创建连接
使用SqlConnection连接到SQL Server 2012示例如下:(1). 利用SqlConnection创建连接public SQLServerAPI(string str_ip, string str_db, string str_user, string str_pwd){ m_strIp = str_ip; m_strDb = str_db; ...
2019-02-22 21:24:53
810
1
原创 SQL Server一一了解事务
事务由多个单独操作甚至其他事务构成,对于多个相关的操作或是当多个用户并发更新数据库时,事务是维护数据完整性所必备的。1. 事务的概念 事务是一组被当作一个单元执行的操作,它们在执行时要么全部成功,要么全部失败。2. 何时使用事务 <1>. 在批处理过程中,必须把多个行作为一个单元插入,更新或删除。 <2>. 只要...
2019-02-18 00:31:01
256
1
原创 SQL Server一一使用XML
1. 将关系型数据转换为XMLFOR XML子句将查询结果集转换为XML结构,它提供了4种模式:(1). FOR XML RAW作用:将查询结果集的每一行转换为标识为row的XML元素。使用:我们在UserLogin表中做示例:以属性为中心:以元素为中心:要点: <1>. FOR XML RAW不提供根节点。这就是其XM...
2019-02-17 10:20:33
323
原创 SQL Server一一使用存储过程
存储过程是允许重复执行某个任务的SQL语句。只要创建某个过程一次,就可以在程序中多次重用它。提高了程序的可维护性,允许程序以统一 优化的方式访问数据库。1. 创建数据库和表前面我们讲述了如何创建数据库及表,接下来我们使用SQL语句在SQL2012Db数据库中创建一个UserLogin表,如下所示:CREATE TABLE UserLogin( CardId int ...
2019-02-15 16:47:07
293
原创 SQL Server一一查询数据库
1. 检索数据(select * from <table name>)作用:查询数据数据按行存储在表中,行由列组成。最简单的查询形式由两部分组成:(1).SELECT列表,指定所要检索的列。(2).FROM子句,指定所要访问的表示例如下:select Name,SSN from MySqlTable使用WHERE子句WHERE子句为选择的行指定条件...
2019-02-14 10:44:29
1684
原创 SQL Server一一操作数据库中的数据
1.插入数据基本的INSERT语句格式如下:INSERT INTO <table>(<column1>, <column2>, ..., <columnN>)VALUES (<value1>, <value2>, ..., <valueN>)应用示例如下://插入表格数据Use SQL2
2019-02-14 10:27:49
237
原创 SQL Server一一创建数据库和表
1.创建数据库//创建数据库use masterCREATE DATABASE SQL2012DbON PRIMARY( NAME = Sql2012Data, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\Sql2012Data.mdf', SIZE = ...
2019-02-14 09:06:53
882
原创 SQL Server一一数据库创建遇到相关问题点
问题点一: SQLServer2008运行Sql Server Configuration Manager中点击SQL Server服务显示远程过程调用失败。[0x800706b],如下所示:百度到解决方案是卸载Microsoft SQL Server 201x LocalDB相关软件于是,我查看到我的电脑存在Microsoft SQL Server 2016 Lo...
2019-02-13 15:58:04
649
原创 SQL Server一一数据库连接
首先我们安装SQLServer2008/2012之后,点击SQL Server Management Studio,如下所示:登录方式有: Windows 身份验证和 SQL Server 身份验证服务器名称,可以是网络服务器IP地址,本地服务器的话,可以通过运行->services.msc,查找SQL Server服务,如下所示,我们查找到SQL Server实例名为SQLEX...
2019-02-13 13:49:08
434
原创 C#入门一一回调函数
概念: 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。 回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。通俗点讲就是讲某个实现函数作为参数传入另一个函数中去,当然我们可以通过委托接口等其他一些手段...
2019-01-28 09:51:39
1505
1
原创 Tinyxml一一利用tinyxml写入属性及文本信息
有时,我们会遇到复杂的文本修改,这时候该如何操作,如下文本所示:<FileRoot> <ItemGroup id="StringItems"> <ConfigItem name="MULTIPLEX_MANAGER_CONFIG_FILE" value="C:\Program Files\Qualcomm\QDART\databases\...
2018-11-29 20:01:20
1123
1
原创 Tinyxml一一利用tinyxml写入节点元素属性值
考虑我们有如下Attr_Write.xml文件,需要对其中的某项进行修改,该如何操作,文件内容如下所示:<?xml version="1.0" standalone="yes" encoding="utf-8"?><FileRoot> <Attr1 ip="192.168.0.1" timeout="123.456000"/&am
2018-11-27 15:29:46
1803
原创 leveldb源码分析一一visual studio创建工程加载google leveldb
一、下载leveldb源码从github上下载windows版本的leveldb源码:https://github.com/google/leveldb/tree/windows下载完后,解压目录如下所示:二、安装boost库由于leveldb使用了boost库的依赖,所以需要下载相应的boost库,我下载的是最新的1.66版本,下载链接如下:https://sourcef...
2018-11-15 19:02:20
992
原创 Python一一运算符重载
基础知识 运算符重载让类拦截常规的Python运算。 类可重载所有Python表达式运算符。 类也可以重载打印、函数调用、属性点号运算等内置运算。 重载使类实例的行为像内置类型。 重载是通过提供特殊名称的类方法来实现的。构造函数和表达式:__init__和__sub____init__:构造函数__sub__:捕捉减...
2018-10-31 23:38:56
629
原创 Linux一一第八章、文件与文件系统的压缩,打包与备份
8.2 Linux系统常见的压缩指令列出几个常见的压缩文件扩展名:8.2.1 gzip,zcat/zmore/zless/zgrepgzip 进行压缩时,在默认的状态下原本的文件会被压缩成为 .gz 的文件名,原始文件就不再存在了。 这点与一般习惯使用windows 做压缩的朋友所熟悉的情况不同喔!要注意!要注意! 此外,使用 gzip 压缩的文件在 Windows 系统中,竟...
2018-10-26 23:27:15
544
1
原创 Python一一类代码编写细节
class语句一般形式class是复合语句,其缩进语句的主体一般都出现在头一行下边。在头一行中,超类列在类名称之后的括号内,由逗号相隔。列出一个以上的超类会引起多重继承。以下是class语句的一般形式:class <name>(superclass,...): data = value def method(self,...): self....
2018-10-25 23:52:37
455
1
原创 Python一一更多实例
步骤1:创建实例在Python中,模块名使用小写字母开头(如person.py),而类名使用一个大写字母开头(如 class Person),这是通用的惯例。# File person.py(start)class Person:编写构造函数(赋值并初始化实例属性)实例对象一般存在记录对象的属性,这些属性通常通过给类方法函数中的self属性赋值来创建。赋给实例属性第一个值的通常...
2018-10-22 21:42:57
267
C#演示SQL Server存储过程
2019-02-15
Example_sql示例
2019-02-15
Log打印DLL接口
2017-09-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人