C# 委托和事件,简单示例说明问题
先看看示例效果
按照国际惯例,得先说说概念。
委托(C# 编程指南)
事件(C# 编程指南)
以上内容来自MSDN。
委托源码
【委托】
概念和代码都有了。剩下的就是应用了,要是只知道概念不会用,那还是等于不会。
要用委托首先要明确几个问题:
1、为什么需要委托?什么场合用?
...[2018/10/20]
C# 读取Excel,一波华丽的操作
C# 读取Excel,其实有很多方法。但是今天要来一波华丽的操作。
先看效果:
以上这波操作使用了 ExcelDataReader 和 ExcelDataReader.DataSet 完成的。
ExcelDataReader 是一个快速读取 Excel 的 C# 库。使用简单,读取速度比...[2018/10/20]
C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法
使用反射(Reflect)获取dll文件中的类型并调用方法
需引用:System.Reflection;
1. 使用反射(Reflect)获取dll文件中的类型并调用方法(入门案例)
1 static void Main(string[] args)
2 ...[2018/10/19]
如何使用.net开发一款小而美的O2O移动应用? ——“家庭小秘”APP介绍及采访记录
“家庭小秘”是一款“互联网+生活服务”平台,为市民家庭提供优质家庭生活服务和企业后勤服务,包含了用户注册、购买预约、订单查询、充值付款、即时通讯等功能。
这款应用已上线至AppStore和安卓的应用商店,正式投入上线。
这款应用由极美创享开发,极美创享全称镇江市极美创享科技有限...[2018/10/19]
c# 遍历类中的方法名称
A embly.Load("namespace").GetType("namespace.cla 名称");
var t = A embly.Load("Model").GetType("Model.AreaC");
MethodInfo[] i...[2018/10/19]
编写windows服务 定时爬取博客园文章 邮件提醒以及入库
这段时间工作比较忙,每天也没那么多的时间逛博客园看文章,于是就想写一个工具 每天早上9点爬取文章给自己发邮件
作为每天的技术早餐。
相对而言,爬取博客园的文章还是比较简单的,主要思路就是分析博客园文章列表的分页,请求方式,页面渲染方式等,
写篇随笔简单share一下。
这个小工具主要用...[2018/10/19]
C#根据byte前两位获取图片扩展名
C#根据byte前两位获取图片扩展名
<summary>
根据byte前两位获取图片扩展名
< ummary>
<param name="bytes01"></p...[2018/10/19]
关于C# yield 你会使用吗?关于C# yield 你会使用吗?
假设有这样一个需求:在一个数据源(下面代码arry)中把其中大于4的数据取出来遍历到前台,怎么做?(不使用linq)
var arry = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
第一种情况:&nbs...[2018/10/19]
do{}while(false)妙用
神技do{}while(false)
do{}while(false)或者说do{}while(0),本人在linux源码中学得,起初看起来比较奇怪,但在处理连续流程中特别有用,例如ABC三个流程,A执行后判断条件如果为true再执行B,如果未false直接结束流程,B执行完后同样判断条件如果...[2018/10/19]
C# -- 使用XmlDocument或XDocument创建xml文件C# -- 使用XmlDocument或XDocument创建xml文件
使用XmlDocument或XDocument创建xml文件
需引用:System.Xml; System.Xml.Linq;
1.使用XmlDocument创建xml(入门案例)
1 static void Main(string[] args)
2 ...[2018/10/18]
C# -- 使用System.Environment获取电脑的相关属性
使用System.Environment获取电脑的相关属性
1.使用System.Environment获取电脑的相关属性(入门案例)
1 static void Main(string[] args)
2 {
3 M...[2018/10/18]
用LinQ扩展方法,泛型扩展方法,实现自定义验证字符是否空、对象是否为null,及泛型约束使用,Action的使用
一、Linq扩展方法
1、扩展方法必须是静态方法、扩展方法所在的类必须是静态类
2、扩展方法里面的参数必须制定this关键字,紧跟需要扩展的类型,如下:
二、泛型约束
...[2018/10/18]
C# 绘制PDF嵌套表格 - E-iceblueC# 绘制PDF嵌套表格 - E-iceblue
嵌套表格,即在一张表格中的特定单元格中再插入一个或者多个表格,使用嵌套表格的优点在于能够让内容的布局更加合理,同时也方便程序套用。下面的示例中,将介绍如何通过C#编程来演示如何插入嵌套表格到PDF文档。
要点概括:
1. 插入嵌套表格
2. 插入文字到嵌套表格
3. 插入图片到嵌套表格
...[2018/10/18]
轻量ORM-SqlRepoEx (十一)扩展轻量ORM-SqlRepoEx (十一)扩展
以下为 SqlRepoEx.MsSql.ServiceCollection 代码
public static IServiceCollection AddSqlRepo(this IServiceCo...[2018/10/18]
XML序列化
#region 序列化
<summary>
XML序列化
< ummary>
<param name="obj">序列对象</param>
&l...[2018/10/18]
C# ListBox实现显示插入最新的数据的方法
在我们使用ListBox控件时,如果我们在里面不断的添加一条条数据,但是在我们添加的数据过多超过了ListBox显示的窗口时(此时会产生滑动条),
发现我们无法看到最新添加的数据。实现倒序显示此处有两种方法:
第一种,使用listBox.Items.Add("字符串"),之后加上一句代码
这...[2018/10/18]
轻量ORM-SqlRepoEx (十二)SqlRepoEx 2.0.1 至 2.2.0 版本更新说明
一、功能变化
(一)、强化特性支持
1、部分类型拥有复杂属性;
2、有些属性不是来源于数据库
3、用户在原来的代码中使用 SqlRepoEx ,减少字段与数据库字段之间的冲突;
4、为支持新的特性及优化属性读写,增加了 SimpleWritablePropertyMatcher;
5、增加...[2018/10/18]
详解C#委托和事件(二)
一、当我们使用关键字delegate声明一个自定义委托类型时,实际上是声明了一个该名称的类类型,继承自抽象类System.MulticastDelegate,还包含实例方法Invoke、BeginInvoke、EndInvoke:
public delegate void MyDele...[2018/10/18]
C# 发布控制台应用程序 App.config自动替换
在做项目的过程中,一般都有好几套环境,如Dev环境,QA环境等,通常情况下,不同环境的某些配置文件值是不一样的,部署时手动修改的方式管理多套环境的配置文件是很累的,而且很容易出错,最好的方式是部署时根据选择的配置管理器自动生成不同的配置。 在新建的Web 应用程序中,我们会看到Web.config...[2018/10/17]
XML操作类
1 using System;
2 using System.Collections.Generic;
3 using System.IO;
4 using System.Reflection;
5 using System.Text;
6 using System.Xml;
7 ...[2018/10/17]
C#之使类型参数--泛型C#之使类型参数--泛型
1、泛型是什么
泛型的就是“通用类型”,它可以代替任何的数据类型,使类型参数化,从而达到只实现一个方法就可以操作多种数据类型的目的。
2、为什么使用泛型
举一个比较两个数大小的例子:
以上例子实现int类型数据的大小比较是完全没有问题的,但是如果客户现在增加需求“又可以实现两个字符串大...[2018/10/17]
SmartSql For Asp.Net Core 最佳实践 - Ahoo-Wang
常规操作
安装 SmartSql
Install-Package SmartSql
安装 SmartSql.DIExtension
Install-Package SmartSql.DIExtension
配置SmartSqlConfig.xml
写库(Write)必选 唯一节点
读库(Re...[2018/10/16]
C#--深入理解类型
今日无事,回顾了一下C#基础知识,颇有收获,就自己的理解,写了这篇文章,如有不对,欢迎指正。
C#中的类型可以分为两类:值类型与引用类型,如下图所示。
值类型通常被分配到线程的堆栈上,而引用类型则被分配到托管堆上。例如下面例子:
valuetype和reftype在内存中的位置如下所...[2018/10/16]
List分组迭代器
说明:
针对长度较大的List对象,可以分组批量进行处理, 如:长度为1000的List对象,可分为10组,每组100条,对数据进行业务逻辑处理...
Source
/*************************************************************...[2018/10/16]
C# DataTable 去某几个字段相等的重复行,給入需要做叠加的字段名做数值叠加
以下代码实现c#语言DataTable去某几个字段的重复行, 数值的叠加
filedNames : 去重字段名 数组
superFileds: 叠加字段名 数组
<summary>
去重复并且叠加需要叠加的字段
< ummary>
...[2018/10/16]
C# -- 冒泡排序
C# -- 冒泡排序
1. C#代码
1 int[] num = { 3, 5, 7, 1, 2, 13, 9, 4, 6, 11, 22, 44, 33, 14, 43, 41, 5, 868, 476, 34535, 345, 46, 47, 47, 848 }...[2018/10/16]
C# 处理PPT水印(二)——去除水印效果(文本水印、图片水印) - E-iceblue
本文将对C#处理PPT幻灯片中的水印进一步说明和介绍。在C# 处理PPT水印(一)一文中,分享了如何插入水印效果的方法,包括插入文字水印效果、插入图片作为水印效果两种情况,那对于不需要水印效果的情况,要如何来去除PPT中已有的水印效果呢,具体实现步骤,可参考下面将要讲述的方法。
工具
Free ...[2018/10/15]
MySQL通过实例化对象参数查询数据
public static string QueryByEntity<T>(T t) where T : new()
{
string resultstr = string.Empty;
MySqlDataReader reader = null;
try
...[2018/10/15]
判断两个文件是否是同一个文件判断两个文件是否是同一个文件
通过System.Security.Cryptography.HashAlgorithm 哈希算法获取文件的哈希值比较判断
public static bool CompareFile(string filePath1, string filePath2)
{
...[2018/10/15]
CodeSmith生成实体类
<%@ CodeTemplate Language="C#" TargetLanguage="C#" ResponseEncoding="UTF-8" Debug="False" Description="生成数据库实体" %>
<%@ Property Name="Sourc...[2018/10/15]
C#使用第三方SharpZipLib进行压缩、解压文件
近在做项目时用到了文件的批量压缩下载,使用了第三方的SharpZipLib包,后来想到了单个文件的压缩与解压,可能以后会用到相关技术,所以自己熟悉了一下并且借鉴了一些网上的相关代码,自己整理一下,这里我用到的是SharpZipLib 1.0.0版本,这里我新建一个控制台项目来展示。 ...[2018/10/15]
如何将html特殊字符编码转换成特殊字符_html十进制编码字符转回来
备注:有时候我们会莫名其妙遇到一些特殊字符: 这些字符在网页上能正常显示,但是在APP特殊情景并不识别这些字符:
如:' 这个其实是单引号: ''
百度后发现,它其实...[2018/10/15]
轻量ORM-SqlRepoEx (十)SqlRepoEx Nuget包下载说明
ORM-SqlRepoEx 是 .Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,使用强类型操作数据的轻量级ORM工具,在减少魔法字串同时,通过灵活的Lambda表达式组合,实现业务数据查询的多样性。
Nuget中可下载的库(2018年10月1...[2018/10/15]
华夏出入口车牌识别摄像机 - hi-latolo华夏出入口车牌识别摄像机 - hi-latolo
出入口车牌识别摄像机
HTTP POST功能模式说明
2018年5月
目 录
一、 ...[2018/10/15]
使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象
本文需要对C#里的LINQ、Lambda 表达式 、委托有一定了解。
在工作中,经常遇到需要对比两个集合的场景,如:
页面集合数据修改,需要保存到数据库
全量同步上游数据到本系统数据库
在这些场景中,需要识别出需要新增、更新、删除的数据,由于每次应用是,需要比较的对象类型不一...[2018/10/15]
c# 生成自定义图片
using System.Drawing;
using System.IO;
using System.Drawing.Imaging;
using System;
namespace treads
{
<summary>
生成略缩图
< ...[2018/10/15]
C# null,string.Empty,"",DBNull 的区别
【null】
null 在C# 中是一个关键字,表示不引用任何对象的空引用的文字值。 null 是引用类型变量的默认值。 普通值类型不能为 null。
null 在 VS 中定位不出来具体是怎么定义的。一般通过类名映射过来的关键字,都可以定位到声明位置。所以nul...[2018/10/12]
轻量ORM-SqlRepoEx (九)与Dapper共舞
Dapper就另一个轻量ORM,Dapper及其扩展解决了数据访问端的大部门问题,提供了如数据事务管理、缓存等支持。SqlRepoEx的重点解决了Lambda转换成SQL语句,使SQL使用强类型编写,减少字串错误的,实现编译时检查。
SqlRepoEx同时也实现了数据的映射和访问,因而Dappe...[2018/10/12]
ASP.netMVC文件下载的几种方法ASP.netMVC文件下载的几种方法
第一种:最简单的超链接方法,标签的href直接指向目标文件地址,这样容易暴露地址造成盗链,这里就不说了
第二种:后台下载
在后台下载中又可以细分为几种下载方式
首先,在前台,我们需要一个标签
"~/Home/download">Click to get ...[2018/10/12]
c#基础
c#是基于.net平台的应用。特点有:不需要指针(不像c语言那样需要指针)、垃圾回收器能够自动的回收内存、支持给予特性的编程、具有构建泛型类型和泛型成员的能力、支持可选的方法参数和命名的参数
.net简介
.net是美国微软公司推出的一款用于软件开发和运行的平台
.net特点
这个...[2018/10/12]
C# 从注册表判断指定ocx控件是否已注册 以及获取它的注册路径C# 从注册表判断指定ocx控件是否已注册 以及获取它的注册路径
<summary>
注册控件
< ummary>
<returns></returns>
public bool RegControl()
{
try
{
判断该控件是否已经注册
if (!CheckRegist...[2018/10/12]
C# string 常用功能的方法扩展
1 #region Usings
2 using System;
3 using System.Text;
4 using System.Data;
5 using System.Data.SqlClient;
6 using System.Text.RegularExp...[2018/10/12]
Linq2DB之研究和探索
1,对linq2db使用看法
最近在研究linq2db,用起来还不错,性能还不错的。之前也在博客园有些网友说用ado.net和depper写SQL语句,性能还要高。有时候牺牲点性能,为了提高开发效率,还是要用的。大家应该都知道拼接SQL语句,如果简单的SQL拼接起来还可以接受,要拼接什么链表查询,...[2018/10/12]
1-初步了解C#-语言基础1-初步了解C#-语言基础
本篇博客对应视频讲解
前言
终于开始讲语言了,我选择讲C#。为什么呢?因为C#是很好的入门语言,简洁、全面,面向对象类型安全,开发体验好,上手容易。而其他的语言也已经有人讲了很多了,C#相对来说要少一些。
从官方文档开始
还记得从零开始学编程系列,我说过学习和遇到问题首先要查看官方的文...[2018/10/12]
memcached缓存分布式部署方案
一、分布式方案介绍
比较流行的两种方案:
1.取余分布:
计算key的哈希值,与服务器数量取余,得到目标服务器。优点:实现简单,当某台服务器不可用时,故障转移方便;缺点:当增减服务器时, Key与服务器取余变动量较大,缓存重组代价极大。
代码实现可参考开源组件Memcached.ClientL...[2018/10/12]
无法连接到已配置的开发web服务器
vs 打开项目报错;
解决方法:删除我的文档下IISEXpre 文件夹,然后重启电脑。
[2018/10/11]
轻量ORM-SqlRepoEx (八)MySQL、Sql Service 迁移
数据库变更在编程应用中是常的,MySQL、Sql Service之间的数据迁移更为常见,在 SqlRepoEx2.0DemoForAspCore 中演示了,这种数据库之间切换时SqlRepoEx是如何的简单。中演示了,这种数据库之间切换时SqlRepoEx是如何的简单。
第一步、增加SqlRep...[2018/10/11]
.NET(c#) 移动APP开发平台 - Smobiler(2) - 平台介绍
看到大家很多人在后台问我一些问题,所以准备写一个系列了,下面给个目录
目录:
.NET(c#) 移动APP开发平台 - Smobiler(1) 环境的搭建及上手第一个应用
类似开发WinForm的方式,使...[2018/10/11]
C# ?和??使用讲解
场景1:使用?定义可空类型
众所周知,C#中的值类型是不可以为null的,如果必须为null,则需要将变量定义为可空类型,如下所示:
int? age = null;
场景2:使用?检查null值
一般我们写代码时,为了避免代码出现空异常System.NullReference...[2018/10/11]
SmartSql 快速使用指南 - Ahoo-Wang
SmartSql 快速使用指南(https: github.com/Ahoo-Wang/SmartSql)
ISmartSqlMapper 常用(部分)接口概述
函数
说明
Execute
IDbCommand.ExecuteNonQuery,执行返回受影响行数
ExecuteSc...[2018/10/10]