![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
满山猴子
这个作者很懒,什么都没留下…
展开
-
C# WCF服务(三)
目录WCF配置文件服务配置的主要部分WCF的通信模式请求与答复模式单向模式双工模式WCF配置文件配置也是WCF编程中的主要组成部分。在以往的.net应用程序中,我们会把DBConn和一些动态加载类及变量写在配置文件里。但WCF有所不同。他指定向客户端公开的服务,包括服务的地址、服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型等。使用配置文件后,我们无需编译即可修改WCF的变化的信息,提高了程序的灵活性。如果在代码里写了配置,那么配置文件将不起作用。.原创 2020-05-24 14:27:05 · 498 阅读 · 0 评论 -
C# WCF服务(二)
目录WCF学习WCF概念第一个WCF程序场景让WCF程序寄宿创建客户端WCF通信过程WCF中的 "A","B","C"Endpoint(终结点)应用程序间通信实例WCF宿主WCF服务应用程序与WCF服务库概述案例IIS宿主Winform应用程序宿主Winform依赖配置文件WAS宿主WCF学习WCF概念在基于.NET的应用程序开发中,我们由客户机的浏览器访问应用程序服务器,然后通过应用程序服务器中的数据库连接去.原创 2020-05-24 14:26:44 · 1227 阅读 · 0 评论 -
C# WCF服务(一)
目录WCF服务概述SOASOA的意图SOA的实现WCF的作用WCF 的基本概念WCF的优势WCF服务概述Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分。由 .NET Framework 3.0 开始引入。WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。WCF合并了Web服务原创 2020-05-24 14:04:16 · 3030 阅读 · 0 评论 -
C# EF框架(一)配置
目录EFEF简介相关知识复习lambda表达式集合常用扩展方法高级集合扩展方法EF 的安装EF 简单DataAnnotations 实体配置EF 模型的两种配置方式FluentAPI 配置T_Persons 的方式EF 的基本增删改查EF 原理及SQL 监控执行原始SQL不是所有lambda 写法都能被支持EF对象的状态简介应用(*)EF优化的一个技巧Fluent API更多配置HasMaxLength设定字段的最大长度(有原创 2020-05-22 14:12:39 · 3127 阅读 · 0 评论 -
C# EF框架(二)延迟加载
目录延迟加载(LazyLoad)不延迟加载,怎么样一次性加延迟加载的一些坑实体类的继承linq简介辟谣Linq 基本语法混用C#6.0 语法ORMORM简介ORM的工作原理ORM的优缺点延迟加载(LazyLoad)如果public virtual Class Class { get; set; }(实体之间的关联属性又叫做“导航属性(Navigation Property)”)把virtual 去掉,那么下面的代码就会报空引用异常var原创 2020-05-22 14:12:52 · 1299 阅读 · 0 评论 -
C# EF技术
目录EF简介ORM的概念ORM技术的优势.NET中的ORM框架EF的本质Object ServicesEDM实体数据模型Entity Client实体代理ADO.NET ProviderEntity Client和ADO.NETEF应用程序有以下优点EF框架的搭建EF的创建三种创建的区别DataBase FirstEDM元数据实体文件数据库上下文类使用EF查询单表数据使用EF实现CRUDCode FirstEF简介...原创 2020-05-22 13:43:08 · 4963 阅读 · 0 评论 -
C#事件多线程(一)
事件(Event)概念事件是对象在外界第三方因素影响下发生的事情,而对外提供的一种消息机制事件的两个参与者 发送者(Sender):对象本身,当本身状态发生变化时,触发事件,并通知事件的接收者 接收者(Receiver):用来处理事件的,在事件发送者触发一个事件后,会自动执行的内容 事件和委托相同点:事件对象本质就是一个私有的委托对象,以及公有的方法,add(+=)和remove(-=)不同点: +=方法是,实际上是调用add方法对委托进行添加。原创 2020-05-21 21:07:25 · 3891 阅读 · 0 评论 -
C#事件多线程(二)
异步编程总结 异步编程是建立在委托基础上的一种编程方法 异步调用的每个方法都是独立的线程执行。因此。本质上就是一种多线程程序,也可以说是一种简化版本的多线程技术 比较适合在后台运行较为耗时的简单任务,并且任务要求相互独立,任务中不应该有代码直接访问可视化控件 如果后台任务要求必须按照特定顺序执行,或者必须访问公共资源,则异步编程不适合,而直接使用多线程技术 多线程的异步 public partial class Form1 : Form {...原创 2020-05-21 21:08:02 · 1239 阅读 · 0 评论 -
C# Socket网络编程(二)
目录Socket相关的内容什么是SocketSocket的本质Socket的作用Socket的典型应用Socket介绍网络传输OSI七层网络模型网络模型IP地址与域名端口的概念Socket/TCP五层网络模型图TCP和UDP区别Socket相关的内容什么是Socket在计算机通信领域,Socket被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过Socket这种约定,一台计算机可以接收到其他计算机的数据,也可以向其他计算机发送原创 2020-05-21 20:56:07 · 393 阅读 · 0 评论 -
C# Socket网络编程(三)
目录Socket/TCPTCP报文格式TCP三次握手四次挥手三次握手和四次挥手面试问题Socket编程Socket编程方式数据传输方式服务器编写步骤客户端编写步骤Socket/TCPTCP报文格式TCP是一种协议报文:报纸文字TCP报文是发送网络消息需要按照这种报文的格式去包装数据例如:TCP规定的数据包格式:亲爱的[xxx],你好,[XXXXX],保重勿念![xxxx]年[xx]月[xx]日。那么按照TCP发送一句话:“I Lov原创 2020-05-21 20:56:19 · 482 阅读 · 1 评论 -
C# Socket网络编程(一)
CS程序的打包为什么要打包程序CS项目(客户端软件)每次使用要么通过VS开发工具运行起来,要么直接到Bin目录下的Debug中双击运行程序的exe文件。而正规的一款桌面程序软件,一般使用步骤: 先到官网上找到软件 下载软件安装包 进行安装软件 安装成功之后可以使用 区别:如果直接通过使用Debug文件夹,首先客户下载需要将整个文件夹中的所有资源全部下载下来,这样我们观察程序Debug文件夹里面的文件,随着应用程序的功能增强,其内部文件也会随之增多。如果原创 2020-05-21 20:48:41 · 238 阅读 · 0 评论 -
C#基础 泛型委托(二)
委托技术的使用委托是什么 委托是一种全新的面向对象语言特性,运行.NET平台上 基于委托,并发事件驱动程序变得非常简单 使用委托可以很大程度上简化多线程编程的难点 理解 委托可以看做一种数据类型,可以定义变量,但是他是一种特殊的变量 委托定义的变量能接收的数值只能使一个方法(函数),可以理解为委托就是方法的指针 委托的应用主从窗体通信...原创 2020-05-20 22:15:58 · 144 阅读 · 0 评论 -
C#基础 泛型委托(一)
泛型什么是泛型C# 语言和公共语言运行时 (CLR) 在 2.0 版本中添加了泛型。泛型将类型参数的概念引入 .NET Framework,这样就可以设计具有相同特征的类和方法:在客户端代码声明并初始化这些类和方法之前,这些类和方法会延迟指定一个或多个类型(使用占位符~3:数字代表类型参数个数)泛型有什么用使用泛型类型可以最大限度地重用代码、保护类型安全性以及提高性能。泛型最常见的用途是创建集合类 List< int>。可以创建:泛型接口、泛型类、泛型方法、泛型事件和泛型委托原创 2020-05-20 22:14:03 · 370 阅读 · 0 评论 -
C# GDI+绘图基础
目录GDI+绘图基础GDI+概述Graphics类使用Graphics创建Graphics对象Graphics类的方法成员GDI+绘图基础编写图形程序时需要使用GDI(图形设备接口Graphics Device Interface),从程序设计的角度看,GDI包括两个部分:GDI对象和GDI函数。 GDI对象定义了GDI函数使用的工具和环境变量,GDI函数对象绘制各种图形。在C#中,进行图形程序编写时用到的都是GDI+版本,是GDI的进一步扩展,它使我们变成更加方便。GD原创 2020-05-19 18:59:03 · 653 阅读 · 0 评论 -
C#计算机数据存储原理
目录计算机数据的存储数据的存储方式存储在什么地方怎样存储进制之间的相互转换都有哪些进制十进制转换任意进制之间的转换整数的存储原码反码补码十进制负整数转二进制算法计算机数据的存储数据的存储方式机器以正负电子的排列等方式来记录二进制数据排列?不同数量、不同排列顺序存储在什么地方硬盘、内存怎样存储因为目前计算机能够存储的数据只有两个字符:0/1这些硬件对于0/1的保存记录主要是以哪种形式进行记录------单元格方式记录原创 2020-05-19 18:54:42 · 505 阅读 · 0 评论 -
C#基础 控制台应用程序(二)方法
方法参数输出参数out参数:指输出参数,如何给out参数传参? string str = Console.ReadLine(); int num = 0; bool b=int.TryParse(str,out num);参数num的作用是:如果str可以转成int类型,tryParse方法返回true,转换的结果传给num参数,num参数叫做输出参数out参数方法声明:因为out参数是输出参数,其作用最终和方法的返回...原创 2020-05-19 18:52:10 · 548 阅读 · 0 评论 -
C#基础 控制台应用程序(一)介绍
目录控制台应用程序控制台框架中的文件Program文件数据的读写Console对象Console对象读数据Console对象写数据Main函数控制台应用程序控制台:指的是C#中最原始的程序框架,以传统的黑框程序为主控制台框架中的文件 Program.cs文件:程序的主文件 App.config文件:程序的配置文件 Program文件Main函数:程序的主入口函数,程序从这个Main函数开始执行,到Main函数结束Program类指的是程原创 2020-05-19 18:44:48 · 1872 阅读 · 0 评论 -
C#基础 方法函数
方法函数一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个C#程序至少有一个带有Main方法的类。可以将方法理解为要么这些代码一起执行,要么都不执行。方法指的是一个类中的代码集合块,这些代码要么一起全部执行,要么都不执行1.1方法的种类根据返回值可以划分为两类 有返回值的方法 这个方法调用完成之后,必须有一个最终的指定类型的执行结果。 无返回值的方法 这个方法在调用之后,只需要将其内部的所有代码按照逻辑执行完成 1.2方法返回值如何辨别原创 2020-05-18 16:25:42 · 228 阅读 · 0 评论 -
C#基础 静态Static关键字
目录静态Static关键字3.1静态类3.2静态变量3.3静态方法3.4静态构造函数3.5什么时候适合用static修饰3.6使用static时需要注意的地方静态Static关键字static静态的,不变的,在某个类中只有一个,不会因实例化对象的不同而不同。static可以修饰类、字段、属性、方法 等。如一个方法前加上static修饰后要对其进行调用可以直接通过类名点出来,不用再对类进行实例化3.1静态类 只能包含静态成员(静态方法或静态变量),非静态成员.原创 2020-05-18 16:18:47 · 238 阅读 · 0 评论 -
C#基础 字符串对象
字符串对象使用字符数组来表示字符串,但是,更常见的做法是使用string关键字来声明一个字符串变量。string关键字是System.String类的别名1.1数组属性Length每个数组都有一个表示其内部元素数量的属性Length,通过这个属性可以获取到数组的长度 string str = textBox1.Text; for (int i=0;i<str.Length ;i++ ) { ...原创 2020-05-18 16:16:52 · 388 阅读 · 0 评论 -
C#基础 数组的定义与使用
数组数组是一个存储相同类型元素的固定大小的有顺序的集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。数组也是一种数据类型,数组是引用类型1.1数组的类型 一维数组 二维数组 多维数组 交错数组 1.2简单数组1.2.1数组的声明数据类型 [] 数组名称;通过数组的声明,明确这个数组中可以装载的数据类型有哪些数据类型可以指定任何所需数据 string[] nameList;[]:指定数组的秩(...原创 2020-05-17 21:19:07 · 12239 阅读 · 0 评论 -
C#基础 数据的声明与断点
变量一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作。1.1变量的声明[访问修饰符] 数据类型 变量名=初始化默认值1.2变量的初始化变量通过在等号后跟一个常量表达式进行初始化(赋值)为什么要进行变量初始化变量初始化是C#强调安全性的另一种方式。简单的说,C#编译器需要用某个初始值对变量进行初始化,之后才能在操作中引 用该变量。大多数现代编译器把未初始化原创 2020-05-17 21:06:09 · 358 阅读 · 0 评论 -
C#基础 逻辑控制语句、循环控制语句介绍
目录逻辑控制语句6.1逻辑控制6.2条件判断语句6.2.1判断语句循环控制语句7.1 for循环7.2 foreach遍历循环7.3 while循环和do...while循环7.4 控制语句7.4.1 break7.4.2 return7.4.3 continue逻辑控制语句6.1逻辑控制控制计算机阅读代码的一个顺序逻辑,作用提高算法的执行效率6.2条件判断语句判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(原创 2020-05-16 20:34:43 · 541 阅读 · 0 评论 -
c#基础 运算符介绍(二)
目录关系运算符1.1注意赋值运算符2.1什么是赋值运算符2.2常见赋值运算符杂项运算符3.1常用杂项运算符3.2三元运算符3.3 as类型转换事件的参数4.1 sender参数4.2 e参数运算符优先级关系运算符两个数据之间的关系运算下表显示了 C# 支持的所有关系运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:运算符 描述 实例 == 检查两个操作数的值是否相等,如果相等则条件为真。 (A...原创 2020-05-16 20:26:35 · 444 阅读 · 0 评论 -
c#基础 运算符介绍(一)
运算符运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。1.1数学运算符1.1.1分类下表显示了C#支持的所有算术运算符。假设变量A的值为10,变量B的值为 20;运算符 描述 实例 + 把两个操作数相加 A + B 将得到 30 - 从第一个操作数中减去第二个操作数 A - B 将得到 -10 * 把两个操作数相乘 A * B 将得到 200 / 分子除分母 B / A 将得到 2 % 取模运算符原创 2020-05-16 13:33:55 · 481 阅读 · 0 评论 -
C#基础 数据类型及ASCII码
数据类型1.1数据类型作用规范了对于不同的数据所采用的的存储方式,存储空间等信息不同,计算机存储不同数据其读取速度也有区别1.2数据类型分类1.2.1值类型 什么是值类型:在计算机内存中声明一个值类型变量,则直接在其变量名所指向的位置内存栈空间中存储其值 在调用时,直接通过变量名找到内存栈的位置即可获取到存储的数据结果 值类型直接存储其值,可以直接改变其值 调用速度快,但是存储空间小 内存栈:先进后出 15种数据类型除过string和o原创 2020-05-16 13:19:51 · 1801 阅读 · 0 评论 -
C#基础 变量和类的介绍
C#中的命名规范1.1命名方式驼峰命名法:变量命名时,首单词全部小写,之后单词首字母大写。适用于变量的声明例如:int imgIndex=0; string txtPersonName="齐天大圣";帕斯卡命名法:所有单词的首字母大写。适用于所有的项目名称、对象名称、方法名称、属性名称例如:Class BigCar,SmallCar;1.2命名规则 创建项目在学习过程中可以使用中文,但是在工作中严格禁止使用中文、拼音 在给项目命名使用帕斯卡命名法(所有的英文单词首字母原创 2020-05-15 22:12:34 · 310 阅读 · 0 评论 -
NET Framework平台
一、.NET Framework平台.Net平台是微软搭建的技术平台,技术人员在此平台上进行应用的搭建与开发。它提供了运行所必须的环境.NET Framework类库以及CLR(公共语言运行时)。好比我们人类的生存必须基于有氧气的基础之下。程序也不例外,它的运行也需要很多所必需的环境。这就是.Net平台 。 公共语言运行时(CLR) 遵循公共语言架构的标准,能够使C++、C#、VB以及JavaScript等多种语言深度集成。CLR从某种意义上理解相当于Java中的Java虚拟机(JVM)。原创 2020-05-15 22:07:13 · 2352 阅读 · 1 评论 -
C# Winform基本属性及线程
一、Winform基本属性1.1基本属性对象尺寸大小Size属性、Width宽度、Height高度对象的位置Location属性、Left左距离、Top上距离、Right右距离(只读)、Bottom下距离(只读)坐标系:全部基于对象的父级容器做为其坐标系,X轴向右增大,Y轴向下增大对象的坐标指的是所有的对象的左上角点的位置坐标二、线程2.1使用线程线程是指计算机在执行代码所读取代码的一种方式,一般都是一行一行阅读,C#代码是按分号阅读,一个C#文件中的代码事件函数原创 2020-05-15 21:54:36 · 496 阅读 · 0 评论 -
C#语法基础 属性类型
C#语法基础C#是一门面向对象的计算机语言1.1面向对象对象:程序员在计算机世界里通过代码用来描述世间万物对象由三个层次组成: 属性:描述一个对象的外貌特征数据的 方法:(主动行为)对象自身所具有的行为能力 事件:(被动行为)对象被其他对象以某种方式影响之后产生的行为能力 面向对象:程序员使用面向对象的计算机语言通过对目标对象的属性、行为封装最终拿到目标对象1.2开发IDE.NET开发指定的开发工具是Visual Studio2017-2019选择的原创 2020-05-14 22:42:44 · 495 阅读 · 0 评论 -
程序架构搭建入门
三层架构设计为什么要使用架构 框架能够清晰的描述实体的组成结构 框架是实体的骨干,有骨干的实体显得很“结实” 框架设计的好坏直接影响到实体的质量 框架设计在实体构建中起着举足轻重的作用 软件是一个能够帮助人们高效办公的应用系统软件开发之前我们必须要一个高质量的框架来保证软件的运行和后期维护两层架构视图层-数据访问层 这两层之间的数据传递通过数据实体模型来作为载体传递两层和三层的区别:就像是小公司(5-7人)和中大公司(10人以上)的区别1人原创 2020-05-14 22:06:49 · 646 阅读 · 0 评论 -
OOP原则改善ADO.NET
基于OOP原则优化原因:在程序中只要有哪个程序功能需要对数据库进行访问操作,那么必须要有之前学习的四个步骤:(创建数据库连接对象-创建数据库命令对象-针对不同的命令执行结果是否选择使用另外两个对象对结果进行处理)因此:决定使用面向对象的原则对数据库的访问操作功能进行单独提取通用数据访问类实现代码的复用 代码复用的基本形式:编写一个通用的方法 代码复用技术的要求: 原则:提取不变的,封装改变的 技巧:不变的作为“方法体”,变化的作为方法的“参数”。原创 2020-05-14 12:31:15 · 182 阅读 · 0 评论 -
ADO.NET 数据操作常见错误
数据操作常见错误数据库服务器无法连接 检查SQL Server服务器是否打开 检查连接字符串中服务器关键字指定的服务器名称是否正确(注意默认实例、命名实例的名称) 如果连接的是局域网内服务器、外网服务器(非本地连接)。检查防火墙是否有拦截,或者通过计算机管理检查,以及检查台计算机之间是否能够相互Ping通。 数据库登录失败检查并修改字符串中指定的数据库名称,务必保证这个数据库是服务器中存在的数据库用户登录失败检查修改正确的登录账号名称及登录密码连原创 2020-05-13 23:26:04 · 404 阅读 · 0 评论 -
ADO.NET数据库访问技术 ADO.NET技术注意点
ADO.NET技术注意点ConnectionState枚举作用:用来监测某个Connection对象当前的状态using System.Data.SqlClient; SqlConnection con = new SqlConnection(); private void Form1_Load(object sender, EventArgs e) { con.ConnectionString = "Server=1...原创 2020-05-13 22:48:22 · 187 阅读 · 0 评论 -
WPF 面向对象 实现简单图书管理系统
XAML界面<Window x:Class="图书管理系统.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ...原创 2020-01-06 16:37:29 · 2303 阅读 · 2 评论