聚合文章列表
2 浏览

C#/.NET中泛型对象集合(List)转换成二维数组对象的静态扩展方法(Lambda参数支持对象的任意属性)

在日常的C#/.NET开发中,我们可能会遇到这样的需求,即本文标题所述:将泛型对象集合(List<T>)转换成二维数组对象的静态扩展方法(Lambda参数支持对象的任意属性)。如我有如下实体:///<summary>///分类目录实体--测试类///</summary>publicclassCategory{///<summary>///ID///</summary>publicintId{get;set;}///<summary>///语言名称///</summary>publicstringLanguage{get;set;}///<summary>///别名/

c# 2017-08-27 发布
3 浏览

Just for fun——用WPF做个旋转头像

WPF(WindowsPresentationFoundation)WPF是Microsoft的新一代GUI框架,它让界面和代码分离,可以做出更美观炫酷的界面。总之,写界面时让你感觉像在写网页。变形(Transform)WPF中的变形(RenderTransform)类是为了达到直接去改变某个对象的形状(比如缩放、旋转一个元素)的目的而设计的。RenderTransform类的成员如下:TranslateTransform:能够让某对象的位置发生平移变化。RotateTransform:能够让某对象产生旋转变化,根据中心点进行顺时针旋转或逆时针旋转。ScaleTransform:能够让某对象产生缩放变化。SkewTransform:能够让某对象产生扭曲变化。TransformGroup:能够让某对象的缩放、旋转、扭曲等变化效果合并起来使用。MatrixTransform:能够让某对象通过矩阵算法实现更为复杂的变形。故事版StoryBoard是一系列动画的集合控制。使用创建一个WPF程序:MainWindow.xaml

c# 2017-08-29 发布
3 浏览

葡萄城报表模板库更新!新增物流行业特色模板

前言自葡萄城报表发布免费“报表模板库”以来,大量的报表用户通过下载使用模板库,无论是报表样式、功能效果、设计技巧方面都获益良多。与此同时,也有不少用户通过QQ及微信公众号的方式向我们提出了很多改进意见及建议,扩充各行业模板就是其中改进建议之一。因此,我们通过定向客户走访、案例调研和网络搜索的方式,收集并精心制作了围绕物流行业的16张常见及典型报表,并将这些报表模板更新到模板库中,免费提供。新增报表预览物流行业中,除企业中常见的销售、财务、人事报表外,货物实时跟踪、运输计划、任务监控、报关单等都是具备行业特色的典型报表应用场景。以下选取部分报表截图供大家预览。总体货物实时跟踪报表通过进度条、数据高亮等功能,使得关键信息一目了然订单状态跟踪使用数据筛选,在一张报表中快速浏览各个状态下的订单状态,并可根据用户权限开放或关闭相应的操作运输计划列表使用数据深化,可对计划进行展开,并能对某项计划进行相关操作运输计划看板表格类报表内嵌子报表的日历应用任务监控中心-TMS数据筛选的另一灵活运用海关报关单文档类报表

c# 2017-09-05 发布
AD 友情赞助
2 浏览

如何编写更好的SQL查询:终极指南-第二部分

上一篇文章中,我们学习了SQL查询是如何执行的以及在编写SQL查询语句时需要注意的地方。下面,我进一步学习查询方法以及查询优化。基于集合和程序的方法进行查询反向模型中隐含的事实是,建立查询时基于集合和程序的方法之间存在着不同。查询的程序方法是一种非常类似于编程的方法:你告诉系统需要做些什么以及如何做。例如上一篇文章中的示例,通过执行一个函数然后调用另一个函数来查询数据库,或者使用包含循环、条件和用户定义函数(UDF)的逻辑方式来获得最终查询结果。你会发现通过这种方式,一直在请求一层一层中数据的子集。这种方法也经常被称为逐步或逐行查询。另一种是基于集合的方法,只需指定需要执行的操作。使用这种方法要做的事情就是,指定你想通过查询获得的结果的条件和要求。在检索数据过程中,你不需要关注实现查询的内部机制:数据库引擎会决定最佳的执行查询的算法和逻辑。由于SQL是基于集合的,所以这种方法比起程序方法更加有效,这也解释了为什么在某些情况下,SQL可以比代码工作地更快。基于集合的查询方法也是数据挖掘分析行业要求你必须掌握的技能!因为你需要

c# 2017-09-05 发布
1 浏览

微软C# 8.0中的四个特性

可空的引用类型(NullableReferenceTypes)可空的引用类型可概括地表述为,引用类型将不再默认可空。因此,开发人员必须使用定义可空值类型的同样语法“Type?”,显式地标记一个引用类型为可空。如果将一个空值赋值给一个非可空的引用类型,那么将会给出一个编译器警告。与之相类似,从可空类型中读取也会给出编译器警告,除非显式地提前检查了被质疑的变量是否为空值。因此从理论上讲,开发人员需要做的唯一更改就是在代码的适当位置标上问号。该特性新加了一个语法。该语法针对开发人员明知一个可空变量x并非实际为空值却无法证明给编译器的情况。在上述情况下,开发人员现在可以定义x!.Method(),消除编译器对于潜在空值引用异常的警告。异步流(AsyncStreams),即foreachasync异步流是IEumerable的异步等价类。C#团队自2015以来就一直在努力实现异步流。在经历了很多争议后,其语法被定为:foreachawait(stringsinasyncStream)开发人员将使用如下的函数签名定义一个异步迭代器

c# 2017-09-06 发布
2 浏览

如何将水晶报表(Crystal Report)导入葡萄城报表

当从旧的报表平台迁移到葡萄城报表工具时,意味着有大量的报表设计工作要重复去做,如果有一款工具能够在这些工具之间进行自由转换,就能省去报表开发几乎一半的工作量。葡萄城报表为兼容其他报表控件,提供了简单易操作报表导入工具,支持Excel文件,Access数据库以及水晶报表导入。将水晶报表导入葡萄城报表今天我们来演示使用葡萄城报表模板导入工具,将水晶报表导成可用的葡萄城报表文件。1.在开始菜单,选择【葡萄城报表模板导入】2.在导入窗口,选择水晶报表,点击下一步注意:导入工具会自动检测是否安装了水晶报表工具,因此只有安装水晶报表工具,该项才可用。如下是版本兼容问题:水晶报表控件对应的葡萄城报表控件导入窗口3.选择要导入的路径及报表4.选择导入的报表格式5.导入成功可在指定的目录下查看已导入的报表文件6.导入效果展示将水晶报表(CrystalReport)导入葡萄城报表,就是这么简单。快来试试吧!转载请注明出自:葡萄城报表关于葡萄城报表葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软

c# 2017-09-12 发布
AD 友情赞助
2 浏览

算法之旅 | 快速排序法

HTML5学堂-码匠:前几期“算法之旅”跟大家分享了冒泡排序法和选择排序法,它们都属于时间复杂度为O(n^2)的“慢”排序。今天跟大家分享多种排序算法里使用较广泛,速度快的排序算法——快速排序法[平均时间复杂度为O(nlogn)]。Tips1:关于“算法”及“排序”的基础知识,在此前“选择排序法”中已详细讲解,可点击文后的相关文章链接查看,在此不再赘述。Tips2:如果无特殊说明,本文的快速排序是从小到大的排序。快速排序法的原理快速排序是一种划分交换排序,它采用分治的策略,通常称其为分治法。分治法基本思想:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解决这些子问题,然后将这些子问题的结果组合成原问题的结果。基本原理从序列中任选一个数作为“基准”;所有小于“基准”的数,都挪到“基准”的左边;所有大于等于“基准”的数,都挪到“基准”的右边;在这次移动结束之后,该“基准”就处于两个序列的中间位置,不再参与后续的排序;针对“基准”左边和右边的两个子序列,不断重复上述步骤,直到所有子序列只剩下一个数为止。原

c# 2017-09-20 发布
4 浏览

为什么你需要将代码迁移到ASP.NET Core 2.0?

随着.NETCore2.0的发布,.NET开源跨平台迎来了新的时代。开发者们可以选择使用命令行、个人喜好的文本编辑器、VisualStudio201715.3和VisualStudioCode来开发自己的.NETCore2.0项目。同时,微软.NET开发工具组也宣布了ASP.NETCore2.0的发布,并且此版本与.NETCore2.0、VisualStudio201715.3和新的RazorPages页面优化范例兼容。相信目前技术社区中开发人员讨论最多的问题就是:是否应该将代码迁移到ASP.NETCore2.0?”答案是肯定的。下面就让我们看看将代码迁移到ASP.NETCore2.0有哪些好处?性能性能提升是ASP.NETCore2.0带来的最显著的改变。随着ASP.NETCore2.0中新技术和语言增强的出现,代码在编译时会自动进行优化。这项改变能够带来的好处就是,个人不再需要更改代码。编译器会在使用新的语言增强功能进行重新编译时,对

c# 2017-09-26 发布
4 浏览

实验(1)

在注入成功后,登入后台管理,上传一句话,菜刀连接   上传3389,pr,cmd打开虚拟终端并且切换到上传目录下,执行pr命令,pr“netuserhacker123/add”,添加用户让后给用户管理员权限,pr“netlocalgroupadministratorshacker/add”pr执行3389成功后,mstsc远程连接桌面,并且登录 pr.exe提权:     Windows跟踪注册表项的ACL权限提升漏洞Windows管理规范(WMI)提供程序没有正确地隔离NetworkService或LocalService帐号下运行的进程,同一帐号下运行的两个独立进程可以完全访问对方的文件句柄、注册表项等资源。WMI提供程序主机进程在某些情况下会持有SYSTEM令牌,如果攻击者可以以NetworkService或LocalService帐号访问计算机,攻击者就可以执行代码探索SYSTEM令牌的WMI提

c# 2017-09-30 发布
AD 友情赞助
2 浏览

终端物流系统重构1.0

版本V1.0——2017年9月——李伟概述在目前终端物流系统的业务模式上,重构现有技术架构,目的是建立一套稳定的、健壮的、高负载的、可扩展的终端物流平台系统。系统包括:即时数据接口、ERP、APP数据接口、微信公众号平台、微信公众号数据接口、后台服务和离线计算平台数据接口点单、签单智能柜、PDA点单、签单数据更新、接口协议(安全性、执行效率)取件密码取件密码生成规则、判断是否存在短信发送写入消息队列异步处理微信推送写入消息队列异步处理快递公司数据接口推送写入消息队列异步处理,异步任务判断订单是否需要推送快递公司、做初步过滤订单状态推送给智能柜短信、微信等推送状态,可调整为客户端主动请求、服务端被动响应,减少无效推送揽件ERP站点管理智能柜、PDA系统基础配置账号管理、权限设置、功能模块、用户权限配置、站点、设备管理订单数据管理点单、派件、派件费用、运单统计数据公司、快递、点单、派件、消费、短信扣费售后工单站点提交工单

c# 2017-10-13 发布
1 浏览

MongoDB via C#

安装首先需要安装MongoDB.Driver包nuget首先的首先,需要安装好Mongo数据库下载Mongo配置好数据库,构建好连接字符串就可以继续使用了连接字符串!mongodb默认是没有用户名和密码的,而且IP和端口都是开放的,请自行做好安全防范的心里准备数据数据层次DataBase对应SQL的DatabaseCollection对应SQL的TableDocument对应SQL的Row文档结构BsonId对于MongoDB中所有的Document都必须有一个_id字段。在C#中对于这个"_id"字段可以使用一下的几种操作:ObjectId[Id|id|_id][ValueType|string][Id|id|_id]如果吝啬使用Id这个属性名(字段名)的话,也可使用[BsonId]这个特性手动的指定映射的Id字段。不论使用的是以上什么方法,在MongoDB中存储的永远会是_id。当然,也可以不添加该字段,如果不想在查询的时候报错的话,还是需要进行一些

c# 2017-10-16 发布
2 浏览

一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](一)

前言大家好,我是Rector从今天开始,Rector将为大家推出一个关于创建ASP.NETMVC5程序[Repository+Autofac+Automapper+SqlSugar]的文章系列,和大家一起一步一步地创建ASP.NETMVC5WEB应用程序。从项目解决方案一直到在项目中集成Repository模式、基于Autofac的依赖注入、基于Automapper的实体与视图类映射以及比较常用的ORM[如:EntityFramework(EF),SqlSugar,Dapper,ServiceStack.OrmLite等]。本系列涉及到的主题本系列文章将围绕如何用ASP.NETMVC5创建一个简易的博客系统为主题展示,系列中的设计思想和数据库、表的设计也以此展开。系列中涉及到的源码也会一并同步到对应的开源地址。开发环境:开发工具:VisualStudio2017或者以上版本;数据库:MySQL5.7.17或者以上版本;操作系统:Windows7或者以上版本注:由于Rector用的是英

c# 2017-10-19 发布
AD 友情赞助
1 浏览

一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](二)

前言:在本系列第一篇《一步一步创建ASP.NETMVC5程序[Repository+Autofac+Automapper+SqlSugar](一)》中,我为大家介绍了搭建空白解决方案以及在此解决方案中创建目录和对应的项目。本篇将和大家一起学习在项目中使用Nuget引入.NET对应的MySql.Data程序包,以及使用传统的Ado.NET连接MySQL数据库,实现一个简单的查询并将数据转换成泛型对象的操作。本篇知识要点Nuget程序包管理工具;MySQLHelper帮助类库;Ado.NET泛型创建实体及工具类在TsBlog.Domain项目中新建文件夹,命名为:Entities,再在此文件夹中添加实体类,命名为:Post.cs,打开Post.cs文件,创建以下属性/成员:usingSystem;namespaceTsBlog.Domain.Entities{///<summary>///博文实体类///</summary>publicclass

c# 2017-10-19 发布
1 浏览

unity应用开机自启

最近有一个项目需要设置开机自启动,没有预先为程序设定这个功能,所以部署的时候每次都要生成快捷方式,然后找自启动文件夹,搞得非常崩溃。所以决定填上这个坑,写了一段unity应用通用的开启和关闭开机自启的代码。更新历史2017.10.15:完成初稿写在前面经过一晚上的研究和分析,发现设置开机自启动主要有两种主流方式和一种非主流方式,这几个方式基本能满足需求,分别是:开始菜单启动(最常用,不需要管理员权限)注册表启动项(需要管理员权限)Windows计划任务(需要管理员权限,unity中使用有异常)以下代码都是即拿即用,只需绑定Button和Text即可。开始菜单启动开始菜单启动大概是我们最常用的一种设置开机自启的方法,具体用程序来实现也是很简单的,主要有两步:创建快捷方式并关联程序将快捷方式存到“开始”菜单的“启动”目录代码如下:usingSystem;usingSystem.IO;usingUnityEngine;usingUnityEngine.UI;usingIWshRuntimeLib

c# 2017-10-23 发布
1 浏览

.NET(C#)有哪些主流的ORM框架,SqlSugar,Dapper,EF还是...

前言在以前的一篇文章中,为大家分享了《什么是ORM?为什么用ORM?浅析ORM的使用及利弊》。那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,SqlSugar,Dapper,EntityFramework(EF)还是ServiceStack.OrmLite?或者是你还有更好的ORM推荐呢?如果有的话,不防也一起分享给大家。.NET(C#)主流ORM总揽今天这篇文章分享几款收集的目前.NET(C#)中比较流行的ORM框架,比如(以下框架均为开源框架,托管于github上):SqlSugar(国内)Dos.ORM(国内)Chloe(国内)StackExchange/Dapper(国外)EntityFramework(EF)(国外)NHibernate(国外)ServiceStack/ServiceStack.OrmLite(国外)linq2db(国外)Massive(国外)PetaPoco(国外)SqlSugarSqlSugar是国人开发者开发的一款基于.N

c# 2017-10-25 发布
13 浏览

C# 8.0的三个令人兴奋的新特性

C#语言是在2000发布的,至今已正式发布了7个版本,每个版本都包含了许多令人兴奋的新特性和功能更新。同时,C#每个版本的发布都与同时期的VisualStudio以及.NET运行时版本高度耦合,这也有助于开发者更好的学习掌握C#,并将其与VisualStudio以及.NET的使用结合起来。加快C#版本的发布速度在被称为“新微软”的推动下,微软创新的步伐也加快了。为了做到加快步伐,微软开发部门将一些过去集成在一起的技术现在都分离了出来。VisualStudio、.NETFramework、.NET运行时、编译器和编译运行时的运行语言都被拆分成自己的包和版本,这意味着以上每一个都可以按照自己的节奏发布了。现在,我们已经看到了这种模式的成功。.NETCore2.0的工作已经完成了,并从VisualStudio发布出来,同时也增加了对Linux的支持。几乎与.NETCore2发布的同时,C#7.1版本也发布了。C#7.1是一个重要的发布版本,虽然新功能不多,但它却是C#第7个大版

c# 2017-10-31 发布
3 浏览

AutoMapper在asp.net core的使用

题记AutoMapper一直之前都是这样使用的:Mapper.Initialize(cfg=>cfg.CreateMap<Order,OrderDto>());//orvarconfig=newMapperConfiguration(cfg=>cfg.CreateMap<Order,OrderDto>());后来发现实际项目中,常常涉及多个项目很多类需要初始化,如果都在使用前进行初始化就显得非常不完美。何况在core中一直是以注入作为卖点的。好了,不多说了,下面介绍在asp.netcore中如何使用。安装包AutoMapper,这个不用多说。AutoMapper.Extensions.Microsoft.DependencyInjection,这个是关键。初始化在项目中创建Profile的实现类,例如名为:MappingProfilepublicclassMappingProfile:Profile{publicMappi

c# 2017-11-02 发布
2 浏览

数据库连接对象的使用

连接字符串1、连接字符串的写法在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证)sqlConnection.ConnectionString="Server=(Local);Database=EduBaseDemo;IntegratedSecurity=sspi";2、SqlConnection对象头部添加调用,包含访问SQLServer所需的各类对象usingSystem.Data.SqlClient;返回数据库连接对象,参数字符串。实例化“连接对象”,并打开连接SqlConnectionsqlConnection=newSqlConnection();//声明并实例化SQL连接;sqlConnection.ConnectionString="Server=(Local);Database=EduBaseDemo;IntegratedSecurity=sspi";sqlConnection.Open();

c# 2017-11-02 发布
6 浏览

数据库命令的应用

SQL命令SqlCommandSqlCommand负责完成对数据库的查询、添加、删除和修改等各种操作。SqlCommand对象的创建SqlCommandsqlcom=newSqlCommand()sqlCom.Connection=sqlConn;//再将SQL命令的属性Connection指向SQL连接或SqlCommandsqlCom=newSqlCommand(命令字符串,连接对象名);SqlCommand对象的三种常用的命令格式:1)sqlcom.ExecuteReader返回一个reader对象2)sqlcom.ExecuteNonQuery返回一个整数,通常用在插入、删除、更新时受影响的行数3)sqlcom.ExecuteScalar返回检索的一个值,通常用于查询聚合函数ExecuteNonQuery方法对连接执行Transact-SQL语句并返回受影响的行数。常用于对数据库的添加、删除和

c# 2017-11-02 发布
2 浏览

C# AES 加密解密

常用加密方法有对称加密和非对称加密。对称加密常用的有DES和AES。DES可被破解。这里介绍c#的AES加密方式。//AES的key支持128位,最大支持256位。256位需要32个字节。//所以这里使用密钥的前32字节作为key,不足32补0。publicstaticbyte[]GetKey(stringpwd){while(pwd.Length<32){pwd+='0';}pwd=pwd.Substring(0,32);returnEncoding.UTF8.GetBytes(pwd);}//AES加密的初始化向量,加密解密需设置相同的值。//这里设置为16个

c# 2017-11-09 发布
AD 友情赞助