- 博客(85)
- 资源 (1)
- 收藏
- 关注
原创 WPS Office 2019文字组件插入和改写状态的切换
WPS Office文字的以往版本或者上MS Word,直接按Insert键就可以实现文字编辑时的插入或改写状态的切换。WPS Office 2019则不然,默认时按Insert键不直任何作用,即保持插入状态。如何实现在插入和改写状态之间切呢?新建WPS文字后,在状态栏的空白处单击右键,在弹出快捷菜单上,点击“改写”菜单为选中状态,即前面打对勾,如下图:此时,在状态栏中显示出...
2019-12-08 10:54:40
16665
1
原创 微软的公有云Azure简介
微软公有云服务的研发Azure起始于2008年,于2010年2月1日上线了第一个版本。至今,Azure已经发展成为覆盖全球,拥有24个区域中心的浩大系统。这24个区域中,每个区域中心又都辖多个机房,每个机房都有数万台服务器和海量的存储。 从技术层面来讲,微软的云计算服务构建在微软的Hyper-V虚拟化技术和微软的微服务Service Fabric之上。甚至微软云服...
2019-11-27 15:33:14
3754
原创 什么是好的云计算服务
构建一个可以投入使用的应用,总少不了各种软硬件的搭配。归纳起来,构建一个应用需要有的硬件主要包括网络(如路由器、 交换机、网线)、存储(如普通磁盘、SAN和LUN)、服务器(PC Server)等;软件方面主要包括虚拟化技术(Ctrix、VirtualBox、HyperV等)、操作系统(Windows、Linux等)、中间件(消息中间件、缓存 中间件等)、运行时(CRT、JRE、....
2019-11-27 12:11:15
272
原创 Win764位下安装VS2017闪退问题的解决办法
这几天要用到VS2017,但在安装到如下画面时出现闪退:解决办法:一、出现闪退后,进入C:\Program Files (x86)\Microsoft Visual Studio\Installer文件夹,找到“vs_installer.exe”文件,右键菜单,点属性,在出现的窗口中选择“兼容性”选择项卡,选中“以兼容模式运行这个程序”检查框,并在下拉框Windows 7,如下图:...
2019-11-22 11:15:53
2301
原创 VS2015帮助查看器打不开的解决办法
我的VS2015帮助文档安装到了移动硬盘,当时的盘符是I盘,有一天,我插入一个U盘后,移动硬盘的四个盘符都变了,原来的I盘变成了H般,打开VS2015后按F1,出现如下画面:解决办法是,直接修改注册表值:把HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.2\Catalogs\VisualStudio14...
2018-09-20 15:56:56
3433
原创 SQL SERVER 2008 Float型数据四舍五入问题
一、问题引出:定义一个Float变量,Declare @sl float 临时数据表#tab1结构如下:Create table #tab1(日期 varchar(20),存入数量 float,取出数量 float,结存数量 float)二、通过执行查询操作,临时数据表#tab1已有如下数据三、执行如下操作:set @sl=(select 结存数量 ...
2018-08-10 08:16:04
2165
原创 C#WinForm图表控件应用详解(一)-武占文-专题视频课程
本课程详细介绍图表控件(Chart)在C#WinForm程序开发中的应用,包括图表的基本要素,基本图表的创建,图表的类型,核心内容是用图表展示数据库中的数据。...
2018-06-27 10:38:21
1496
原创 C#解决XML文件乱码问题
一些英文版源码,用中文版VS打开后,会出现乱码问题。特别是把XML文件中的英文改为中文后会显示乱码,解决的办法是:1、在XML文件的头部加<?xml version="1.0" encoding="UTF-8"?>语句2、用记事本打开XML文件,点击另存为,在弹出的对话框中:保存类型选择“所有文件(*.*)”,编码选择“Unicode”这样在读取XML文件时就不会出现乱码问题了。...
2018-06-10 10:43:48
4291
1
原创 企业管理软件就是服务
企业管理没有统一的模式,只有与时俱进的通行的规则,一个企业管理水平的高低就是把当前的通行规则与企业和实际相结合,锤炼符合自身各个不同发展阶段的管理模式来。那么企业管理软件或者说企业信息管理系统变是如此,没有统一的模式,什么是最好的企业管理软件呢?那就符合企业当前管理水平,实用且好用的管理软件,就是最好的软件。 软件业内人士都在说,软件就是服务,那么这个服务体现在哪些方面呢?我的理解如下: ...
2018-05-13 09:36:06
500
原创 C#字符串的Split数组陷阱
C#中,当我们把一个字符串用Split方法中指定的一个或多个字符分隔生成数组时,如果字符串为空时,这个数组的宽度为1,而不是我们想象的0,如下:string str1="";string str2="a,b,c";int length1=str1.Split(',').Length;int length2=str2.Split(',').Length;此时,length1=1,而不是0,lengt...
2018-04-12 16:36:32
1168
原创 C#正则表达式参考
正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。本文详细地列出了能在正则表达式中使用,以匹配文本的各种字符。当你需要解释一个现有的正则表达式时,可以作为一个快捷的参考。一. 匹配字符字符类匹配的字符举 例\d从0-9的任一数字\d...
2018-03-21 17:43:24
724
原创 C#Winform报表与打印技术——自定义报表的实现-武占文-专题视频课程
本课程详细讲解在C#Winform程序里,对DataGridView展示的数据进行自定义报表格式的设计、预览、打印如何实现
2018-03-19 10:18:34
2507
1
原创 C#SQL查询技术-武占文-专题视频课程
本课程以SQL Server 2008 R2数据库系统为例,全面介绍SQL查询技术,包括select语句,Where子句,Order By子句,Group By子句,having语句,TOP和PERCENT限制查询结果,在查询中使用OR和AND运算符,聚合函数应用,多表连接查询,嵌套查询,子查询,联合语句Union,内联接、外联接查询,交叉表查询,视图、存储过程的应用,触发器的应用等。...
2018-02-05 09:03:24
229
原创 C#SQL Server数据库技术-武占文-专题视频课程
本课程讲解C#对SQL SERVER数据库的操作,包括数据库的连接、数据库的增、删、改、查询等。
2018-01-22 09:10:33
309
原创 C#LINQ查询技术-武占文-专题视频课程
本课程以实例讲解LINQ(Language Intergrated Query)语言集成查询技术的使用。
2018-01-10 17:37:24
248
原创 C#泛型(三)——泛型类的功能
在创建泛型类时,还需要一些其他C#关键字。例如,不能把null赋予泛型类型。此时,如下一节所述,可以使用default关键字。如果泛型类型不需要Object类的功能,但需要调用泛型类上的某些特定方法,就可以定义约束。本节讨论如下主题:●默认值●约束●继承●静态成员首先介绍一个使用泛型文档管理器的示例。文档管理器用于从队列中读写文档。先创建一个新的控制台项目DocumentM
2017-12-28 11:05:52
1453
原创 DateTimePicker控件CustomFormat格式字符串及其说明
格式字符串描述d一个或两位数的日期。dd两位数的日期。 位数字的日期值的前面带有为 0。ddd三个字符一天的星期几的缩写。dddd完整的星期名称中。h12 小时格式的一个或两位数小时数。hh12
2017-12-14 11:23:39
6327
转载 C#MaskedTextBox掩码元素说明
掩码元素说明0数字,必选。此元素将接受 0 到 9 之间的任何一个数字。9数字或空间,可选。#数字或空间,可选。如果掩码中该位置为空白,在Text属性中将把它呈现为一个空格。允许使用加号 (+) 和减号 (-)。L字母,必选。将输入限定为 ASCII 字母 a
2017-12-05 17:18:44
4876
原创 C#泛型(二)——创建泛型类
首先介绍一个一般的、非泛型的简化链表类,它可以包含任意类型的对象,以后再把这个类转化为泛型类。在链表中,一个元素引用下一个元素。所以必须创建一个类,它将对象封装在链表中,并引用下一个对象。类LinkedListNode包含一个属性Value,该属性用构造函数初始化。另外,LinkedListNode类包含对链表中下一个元素和上一个元素的引用,这些元素都可以从属性中访问。public c
2017-11-21 17:49:07
1928
原创 C#泛型(一)——泛型概述
泛型是C#和.NET的一个重要概念。泛型不仅是C#编程语言的一部分,而且与程序集中的IL(IntermediateLanguage,中间语言)代码紧密地集成。有了泛型,就可以创建独立于被包含类型的类和方法。我们不必给不同的类型编写功能相同的许多方法或类,只创建一个方法或类即可。另一个减少代码的选项是使用Object类,但使用派生自Object类的类型进行传递不是类型安全的。泛型类使用泛型类型,
2017-11-21 12:21:34
526
原创 C#托管和非托管的资源(六)——平台调用
并不是Windows API调用的所有特性都可用于.NET Framework。旧的Windows API调用是这样,Windows10或Windows Server2016中的新功能也是这样。也许开发人员会编写一些DLL,导出非托管的方法,在C#中使用它们。要重用一个非托管库,其中不包含COM对象,只包含导出的功能,就可以使用平台调用(P/Invoke)。有了P/Invoke,CLR会加
2017-11-21 11:35:09
1128
原创 C#托管和非托管的资源(五)——不安全的代码
如前所述,C#非常擅长于对开发人员隐藏大部分基本内存管理,因为它使用了垃圾回收器和引用。但是,有时需要直接访问内存。例如,由于性能问题,要在外部(非.NET环境)的DLL中访问一个函数,该函数需要把一个指针当作参数来传递(许多Windows API函数就是这样)。本节将论述C#直接访问内存的内容的功能。一、用指针直接访问内存下面把指针当作一个新论题来介绍,而实际上,指针并不是新东西。因为在
2017-11-21 10:42:48
1198
原创 C#托管和非托管的资源(四)——处理非托管资源
垃圾回收器的出现意味着,通常不需要担心不再需要的对象,只要让这些对象的所有引用都超出作用域,并允许垃圾回收器在需要时释放内存即可。但是,垃圾回收器不知道如何释放非托管的资源(例如,文件句柄、网络连接和数据库连接)。托管类在封装对非托管资源的直接或间接引用时,需要制定专门的规则,确保非托管的资源在回收类的一个实例时释放。 在定义一个类时,可以使用两种机制来自动释放非托管的资源。这些
2017-11-20 16:21:13
2289
原创 C#托管和非托管的资源(三)——强引用和弱引用
垃圾回收器不能回收仍在引用的对象的内存——这是一个强引用。它可以回收不在根表中直接或间接引用的托管内存。然而,有时可能会忘记释放引用。 注意:如果对象相互引用,但没有在根表中引用,例如,对象A引用B,B引用C,C引用A,则GC可以销毁所有这些对象。 在应用程序代码内实例化一个类或结构时,只要有代码引用它,就会形成强引用。例如,如果有一个类MyClass,并创建了一个变量
2017-11-20 15:32:13
1363
1
原创 C#托管和非托管的资源(二)——后台内存管理
C#编程的一个优点是程序员不需要担心具体的内存管理,垃圾回收器会自动处理所有的内存清理工作。用户可以得到像C++语言那样的效率,而不需要考虑像在C++中那样内存管理工作的复杂性。虽然不必手动管理内存,但仍需要理解后台发生的事情。理解程序在后台如何管理内存有助于提高应用程序的速度和性能。以下要介绍给变量分配内存时在计算机的内存中发生的情况。1、值数据类型Windows使用一个虚拟寻址系统,该
2017-11-20 11:28:53
1319
原创 C#托管和非托管的资源(一)——资源
资源是一个被反复使用的术语。术语“资源”的一个用法是本地化。在本地化中,资源用于翻译文本和图像。基于用户的区域,加载正确的资源。这里,资源用于另一个主题:使用托管和非托管的资源——存储在托管或本机堆中的对象。尽管垃圾收集器释放存储在托管堆中的托管对象,但不释放本机堆中的对象。必须由开发人员自己释放它们。使用托管环境时,很容易被误导,注意不到内存管理,因为垃圾收集器(GC)会处理它。很多工作都由GC
2017-11-20 09:41:44
1494
原创 C#继承(五)——is和as运算符
在结束接口和类的继承之前,需要介绍两个与继承有关的重要运算符:is和as。如前所述,可以把具体类型的对象直接分配给基类或接口——如果这些类型在层次结构中有直接关系。例如,前面创建的SaverAccount可以直接分配给IBankAccount,因为SaverAccount类型实现了IBankAccount接口:IBankAccount venusAccount=new SaverAccou
2017-11-19 17:19:34
857
原创 C#继承(四)——接口
如前所述,如果一个类派生自一个接口,声明这个类就会实现某些函数。并不是所有的面向对象语言都支持接口,所以我们将详细介绍C#接口的实现。下面列出Microsoft预定义的一个接口System.IDisposable的完整定义。IDisposable包含一个方法Dispose(),该方法由类实现,用于清理代码:Publicinterface IDisposable{Void Dispose
2017-11-19 17:00:38
1299
原创 C#继承(三)——修饰符
前面已经遇到许多所谓的修饰符,即应用于类型或成员的关键字。修饰符可以指定方法的可见性,如public或private;还可以指定一项的本质,如方法是virtual或abstract。C#有许多访问修饰符,下面讨论完整的修饰符列表。1、访问修饰符下表中的修饰符确定了是否允许其他代码访问某一项。修饰符应用于说明Public
2017-11-19 14:37:47
448
原创 C#继承(二)——实现继承
如果要声明派生自另一个类的一个类,就可以使用下面的语法:class MyClass: MyBaseClass { //成员} 如果类(或结构)也派生自接口,则用逗号分隔列表中的基类和接口: public class MyClass: MyBaseClass, IInterface1, IInterface2 { //成员} 如果类和接口都用于派生,则类总
2017-11-19 12:03:21
3456
原创 C#继承(一)——继承的类型
面向对象的三个最重要的概念是继承、封装和多态性。 首先介绍一些面向对象(Object-Oriented,OO)术语,看看C#在继承方面支持和不支持的功能。 ●单重继承:表示一个类可以派生自一个基类。C#就采用这种继承。●多重继承:多重继承允许一个类派生自多个类。C#不支持类的多重继承,但允许接口的多重继承。●多层继承:多层继承允许继承有更大的层次结构。类B派生自
2017-11-19 10:14:33
1890
原创 C#类和对象(十)——Object类
所有的.NET类最终都派生自System.Object。实际上,如果在定义类时没有指定基类,编译器就会自动假定这个类派生自Object。如果没有使用继承,则每个类都派生自System.Object(如前所述,对于结构,这个派生是间接的:结构总是派生自System.ValueType,System.ValueType又派生自System.Object)。 其实际意义在于,除了自己定义的
2017-11-19 08:19:12
2536
原创 C#类和对象(九)——扩展方法
有许多扩展类的方式。继承就是给对象添加功能的好方法。扩展方法是给对象添加功能的另一个选项,在不能使用继承时,也可以使用这个选项(例如类是密封的)。 注意:扩展方法也可以用于扩展接口。这样,实现该接口的所有类就有了公共功能。 假设希望用一个方法扩展string类型,该方法计算字符串中的单词数。GetWordCount方法利用String.Split方法把字符串分割到字符串
2017-11-19 08:03:26
590
原创 C#类和对象(八)——部分类
partial关键字允许把类、结构、方法或接口放在多个文件中。一般情况下,某种类型的代码生成器生成了一个类的某部分,所以把类放在多个文件中是有益的。假定要给类添加一些从工具中自动生成的内容。如果重新运行该工具,前面所做的修改就会丢失。partial关键字有助于把类分开放在两个文件中,而对不由代码生成器定义的文件进行修改。partial关键字的用法是:把partial放在class、struct
2017-11-18 13:08:19
1764
原创 C#类和对象(七)——枚举
枚举是一个值类型,包含一组命名的常量,如这里的Color类型。枚举类型用enum关键字定义:public enum Color { Red, Green, Blue } 可以声明枚举类型的变量,如变量c1,用枚举类型的名称作为前缀,设置一个命名常量,来赋予枚举中的一个值:Color c1 = Color. Red; WriteLine( c1);
2017-11-17 11:55:57
1032
原创 C#类和对象(六)——可空类型
引用类型(类)的变量可以为空,而值类型(结构)的变量不能。在一些情况下,这可能是一个问题,如把C#类型映射到数据库或XML类型。数据库或XML数量可以为空,而int或double不能为空。 处理这个冲突的一个方法是使用映射到数据库数字类型的类(这由Java实现)。使用引用类型,映射到允许空值的数据库数字,有一个重要的缺点:它带来了额外的开销。对于引用类型,需要垃圾收集器进行清理。值类型不
2017-11-16 17:04:01
529
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人