C#/.NET
文章平均质量分 57
Lingbug
别忘了,曾经你也是第一名!
展开
-
记一次VS2022升级.Net7导致原来的.Net6项目编译失败,最后不断排查直到解决的思路与心得【错误编码:NETSDK1045】(sdk排查 -> 分析器排查 -> VS2022升级日志排查)
记一次VS2022升级.Net7导致原来的.Net6项目编译失败,最后不断排查直到解决的思路与心得【错误编码:NETSDK1045】(sdk排查 -> 分析器排查 -> VS2022升级日志排查)原创 2022-11-28 21:43:09 · 5282 阅读 · 4 评论 -
c#Enumerable集合的Aggregate扩展方法的三个重载
c#Enumerable集合的Aggregate扩展方法的三个重载说明原创 2022-02-17 14:21:07 · 1559 阅读 · 0 评论 -
C#通过表达式树解析出sql语句
C#通过表达式树解析出sql语句,写自己的ORM必备;原创 2022-01-07 15:13:32 · 1677 阅读 · 0 评论 -
.Net5 WebApi中下载文件(返回FileStreamResult)
.Net5 WebApi中下载文件(返回FileStreamResult)WebApi CodeClient CodeWebApi Code /// <summary> /// 下载文件 LastUpdateDate:2021-07-14 18:25:03.811 Author:Lingbug /// </summary> /// <returns></returns>原创 2021-07-14 19:46:18 · 6920 阅读 · 1 评论 -
.Net/.Net Core/.Net5中解析xml/xsd文件
.Net/.Net Core/.Net5中解析xml/xsd文件定义实体XmlDataXml工具类XmlHelper定义实体XmlData public class XmlData { public string NodeName { get; set; } public Dictionary<string, string> Attributes { get; set; } public string Text { get;原创 2021-07-07 18:09:19 · 1552 阅读 · 0 评论 -
.Net5 WebApi中操作PDF(分割复制PDF指定页 and 合并多个PDF文件)
.Net5 WebApi中操作PDF(分割复制PDF指定页 and 合并多个PDF文件)安装Nuget包PDF工具类 and 合并多个PDF为一个PDF安装Nuget包.Net Framework:install-package iTextSharp.Net Core/.Net5:install-package iTextSharp.LGPLv2.Core(我安装的1.7.1)PDF工具类 and 合并多个PDF为一个PDFusing iTextSharp.text;using iTextSh原创 2021-06-29 17:13:06 · 693 阅读 · 0 评论 -
C#打开系统浏览器(默认浏览器,谷歌,火狐等...可以自行扩展)
C#打开系统浏览器(默认浏览器,谷歌,火狐等...可以自行扩展)Talk is cheap,Show codeTalk is cheap,Show codeusing Microsoft.Win32;using System;using System.Diagnostics;using System.IO;namespace LingbugUtils.Services{ public class BrowserService { public static原创 2021-06-03 11:49:17 · 4153 阅读 · 0 评论 -
.Net Core中使用Freesql
之前写过一篇在.net framework中使用freesql的文章,这篇文章讲解在.net core中使用,演示环境为.net 2.1一、Startup中启用和注入: public class Startup { public IFreeSql FrSql { get; private set; } public Startup(IConfiguration configuration) { Confi.原创 2020-11-04 17:53:08 · 3725 阅读 · 0 评论 -
C#7.0语法糖,VS2017可用
C#7.0语法糖,VS2017可用 class Program { static void Main(string[] args) { try { //ref变量 //TestRef(); //ref方法 //TestRefFunction();原创 2020-09-02 16:12:34 · 518 阅读 · 0 评论 -
.Net中使用Castle进行IOC+AOP(动态注入+代理)
.Net中使用Castle进行IOC+AOP(动态注入+代理)一、nuget安装CastleInstall-Package Castle.Windsor二、定义空接口作为标识:所有实现改接口的,说明需要依赖注入或代理(AOP代理必须在IOC基础之上) public interface ILingbugService { }三、定义特性:作用于服务类/接口上,说明要使用哪个Interceptor进行AOP代理(具体作用于服务类还是接口,看个人喜好) public c原创 2020-08-27 16:24:11 · 1963 阅读 · 1 评论 -
C#中DataTable关于,copy和clone区别以及行主键操作
public static void TestDataTable() { /* * DataTable学习总结: * 1.dt.Clone()和dt.Copy()的区别? * a.dt.Clone()只会克隆表格的架构(表格名和列信息),并不会拷贝数据,也就是说,克隆完之后是一个结构和dt一模一样的空表格 * b.dt.Copy()不仅会复制表...原创 2020-08-03 15:21:35 · 632 阅读 · 0 评论 -
EF中数据导航的使用(一对一,一对多,多对多)
EF中数据导航的一对一,一对多配置和使用配置: public class LingbugDbContext : DbContext { public LingbugDbContext() : base("name=Default") { } public DbSet<Order> Order { get; set; } public DbSet<OrderDetail>.原创 2020-07-24 11:00:23 · 1483 阅读 · 0 评论 -
c#实体转换工具AutoMapper的使用讲解和扩展
背景介绍:1.在开发中,我们经常需要将实体查询出来的实体转换为页面展示实体,这个页面展示的实体,其实我们口中常说的DTO(Data Tranfer Object)2.我们查询完数据库数据后,如何转换为DTO呢,抛开手写,就要使用到工具了,今天带来的是一款轻量级的实体转换工具:AutoMapper3.备注一下,AutoMapper十分强大,自己之前也踩过一些坑,但是我自己平时开发是不使用这个玩意的,我自己写了一套实体转换和映射,但是不代表AutoMapper不好哈,大多数玩家还是可以直接拿来开箱即...原创 2020-07-22 17:41:39 · 995 阅读 · 0 评论 -
protobuf的使用
最近在使用多语言,之前是使用资源文件实现,这次想看看有没有其他方案,最后发现了protobuf这个序列化/反序列化工具,谷歌的gRPC也是使用的这个序列化工具,据说是目前业界最快,序列化成文件体积最小的。1.实体准备:a.实体类使用ProtoContract特性标识,属性使用ProtoMember(n)标识(这个n,一般是随意写,不重复即可,但是建议从1开始写,依次递增)b.注意:如果实体中嵌套的有实体,嵌套的实体也需要使用ProtoContract和ProtoMember(n)标识us.原创 2020-06-24 17:24:45 · 341 阅读 · 0 评论 -
C#获取到农历相关(带星座)(关于更多请参考我之前的一篇星座博客以及官网Api)
之前写过一篇关于C#获取到农历相关的,今天又研究了一下,再写一篇代码:using System;using System.Collections.Generic;using System.Globalization;using System.Linq;namespace LingbugUtils.Models{ public class ChineseCalendarModel { private string[] HeavenlyStemList.原创 2020-06-06 12:42:57 · 312 阅读 · 0 评论 -
C#发送邮件(阿里企业邮箱示例 包括各个类型的服务器及端口配置)
本文讲解通过C#来实现发送邮件:1.我这里是使用的阿里企业邮箱,至于其他的163和QQ邮箱,就是修改下服务器地址和端口的问题2.至于发送失败的问题,在排除代码问题之后,可以看下自己使用的发送邮箱的账户是否开启了授权,特别是163和QQ邮箱,要开授权的这里针对阿里企业邮箱的各个服务器和端口配置说明一下:1.POP服务器:地址:pop3.mxhichina.com端口:110加密端口:9952.IMAP服务器:地址:imap.mxhichina.com端口:143加密端口:993.原创 2020-06-01 17:15:34 · 3089 阅读 · 0 评论 -
freeSql的使用与讲解
本文讲解freesql的使用话不多说,直接上代码,注释的很清楚了,如果还是看不懂,那我认为要不是你基础不够,去补补基础再来学习这个,要不就是..你不适合干开发了增删改查using System;using System.Collections.Generic;using System.Data;using FreeSql;namespace ConsoleForTestFreeSql{ class Program { private stati.原创 2020-05-27 17:52:28 · 8600 阅读 · 5 评论 -
SqlSugar的使用和自扩展
本文讲解SqlSugar这个ORM的使用和一些自己扩展,官网教程在我的书签中直接上代码:using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Linq.Expressions;using Newtonsoft.Json;using Sq...原创 2020-05-08 16:05:25 · 2960 阅读 · 0 评论 -
C#获取当前方法信息,上端调用方方法信息以及方法调用链
public static void TestGetParentMethodInfo() { GetMethodInfo(0); } public static void GetMethodInfo(int index) { index++;//由于我是封装了方法,相...原创 2020-04-02 12:21:24 · 1912 阅读 · 1 评论 -
EF使用linq和lamda实现sql查询的内连接(inner join)和左连接(left join)
背景介绍:1.OperateLogInfo:日志表2.SystemUserInfo:用户表需求:查询日志表,要根据日志表的创建人id查询出创建人姓名(日志表连接用户表)public static string Test() { string result = null; var sqlLogs = new List<...原创 2020-03-18 17:51:41 · 3038 阅读 · 1 评论 -
.Net Framework MVC5以及Web Api2中使用autofac(自动注入,自定义注入,多实现注入,属性注入)
在.Net Framwework MVC5的环境下使用autofac,直接上代码1.我的环境是.Net Framework4.5,MVC5,VS2017nuget安装autofac:Install-Package Autofac -version 4.6.2Install-Package Autofac.Mvc5 -version 4.0.2基础准备:标识类:IB...原创 2020-03-04 18:10:40 · 1691 阅读 · 0 评论 -
NPOI导入导出Excel(.Net framework,.Net Core面向对象操作,转换一下即可)
直接上代码吧,工具类,为了以后要使用可以直接拷贝过去使用方便~public class ExcelService { public static DataTable ReadExcelToDataTable(string filePath, string sheetName) { var data = new DataTable...原创 2020-03-01 11:58:01 · 547 阅读 · 0 评论 -
根据公历日期获取到农历日期信息(带星座)(C#)
直接上码,都有注释说明using System;using System.Collections.Generic;using System.Globalization;using System.Linq;namespace ConsoleApp.Models{ public class ChineseCalendarModel { /// &...原创 2020-01-10 11:16:57 · 656 阅读 · 0 评论 -
SHA,SHA1,MD5(16位,32位,64位)加密方式(C#实现)
话不多说,直接上码加密服务类:using System;using System.Security.Cryptography;using System.Text;using System.Web.Security;namespace ConsoleApp.Services{ /// <summary> /// Sha加密和Md5加密 Cr...原创 2020-01-04 16:07:31 · 2431 阅读 · 0 评论 -
C#的async和await关键字
之前也写过一篇博客,说async和await的,但是后来发现当时写的不是很准确,所以现在再写一篇。我个人理解:1.async关键字:标记在方法的返回值前面,标记该方法内部可以await关键字来进行异步操作。2.await关键字:前提方法要被async修饰,才能在方法内部使用await,await后面必须是一个task,标记了await,就说明后面的操作是一个异步操作,但是主线...原创 2020-01-02 16:32:53 · 438 阅读 · 1 评论 -
Java和Js生成指定范围内的随机数(有彩蛋)
本文讲的是在Java和Js中如何生成指定范围内的随机数为什么没有讲C#的,因为C#的random方法可以指定最小值和最大值而Java和Js中是无法指定最小值的,最小值都是0,所以要讲如何利用生成0~n的随机数的方法,生成指定的m~n的随机数的方法所有这种原理通用,最后有彩蛋,Let's begin1.在Js中:2.Java:同理讲完啦,是不...原创 2019-11-21 15:19:44 · 346 阅读 · 0 评论 -
C#的lamda表达式Distinct去重自定义对象
我们来看下Distinct这个扩展方法:有两个重载不带参数的:大家一般常用的也就是这个在一个集合中,如果是值类型,比较值,然后去重如果是引用类型,则会比较内存地址,然后去重(string除外)带参数的大家估计用的很少,本文主要就是将这个带参数的用法,如何实现去重自定义对象1.第一种方法:利用HashSet无法添加重复数据的机制调用:2....原创 2019-11-20 17:37:29 · 2842 阅读 · 1 评论 -
WebApi使用Swagger在线接口文档
关于swagger:准备工作:一个WebApi项目步入主题:1.引入nuget包:install-package Swashbuckle、install-package Swagger-Net、install-package Swagger.Net.UI2.右键WebApi项目->属性->生成:勾选XML文档文件3.在App_Star...原创 2019-11-07 10:21:14 · 471 阅读 · 0 评论 -
23种设计模式汇总(C#示范)
一、创建型设计模式(6个):01.单例模式(创建型)02.简单工厂模式(创建型)03.工厂方法模式(创建型)04.抽象工厂模式(创建型)05.建造者模式(创建型)06.原型模式(创建型)二、结构型设计模式(7个):07.适配器模式(结构型模式)08.桥接模式(结构型模式)09.装饰者模式(结构型模式)10.组合模式(结构型模式)11.外观模式(结构型...原创 2019-11-04 17:31:29 · 706 阅读 · 0 评论 -
C#中,.Net Framework4.5+的Async/Await使用(让你的异步更加异步)
先上代码public class TestAsyncAwaitService { public static async void Run() { var threadId = Thread.CurrentThread.ManagedThreadId; Console.WriteLine("主线程{0}:...原创 2019-10-25 15:33:43 · 1020 阅读 · 0 评论 -
WebApi下载文件
导出方法:[HttpPost] public IHttpActionResult BaseExportFile<T>(ExportExcelReqModel<T> excelModel) where T : class { var excelService = new ExcelBLL(); ...原创 2019-10-21 15:02:49 · 352 阅读 · 0 评论 -
WebApi过滤器:AuthorizationFilterAttribute -> ActionFilterAttribute -> ExceptionFilterAttribute
一、权限认证过滤器:public class AuthFilterAttribute : AuthorizationFilterAttribute { public override void OnAuthorization(HttpActionContext actionContext) { //如果用户方位的Action带有...原创 2019-10-21 14:58:01 · 4106 阅读 · 0 评论 -
EF扩展,EF和ado的连接融合,事务融合以及EF+ado的联合事务控制
话不多说,直接上码:using ConsoleAppTestEF.Model;using System;using System.Collections.Generic;using System.Data;using System.Data.Entity;using System.Data.SqlClient;using System.Linq;namespace Conso...原创 2019-10-18 16:16:26 · 867 阅读 · 0 评论 -
Jquery-dataTable使用说明
直接上码了!需要引入的js/css:1.jquery-dataTable.js:直接从中文网下载了一个2.jquery-dataTable.css:直接从中文网下载了一个3.jquery:不必多说4.jquery-dataTable-extend.js:jquery-dataTable的扩展和汉化,自己写的,如下(function ($) { $.extend($...原创 2019-10-16 17:12:48 · 389 阅读 · 0 评论 -
C#_Web获取客户端ip和mac地址
2019-10-28测试发现:第一种获取ip的方式有效,第二种异常获取ip第一种方式:public string TestGetIp() { return ExcuteAjaxService<object>(() => { string userIP = "未获取用户IP";...原创 2019-10-15 13:39:03 · 1412 阅读 · 0 评论 -
c# 解析表达式目录树 写自己的ORM
public class ExpressionAnalyzer { /// <summary> /// 表达式所有参数集合 /// </summary> private Dictionary<string, object> _params; /// <summary&...原创 2019-09-29 13:49:00 · 727 阅读 · 0 评论 -
使用dos命令编译C#代码
本文章讲解如何通过dos命令来编译C#代码并运行起来,不多说,进入正题。步骤如下:1.新建一个cs文件。(插播一下,其实VS编译代码也就是执行了.net framework里面的一个编译的应用程序csc.exe,所以我们要使用命令来编译C#代码也就是使用dos命令来运行csc.exe来编译咱们的cs文件,这个csc.exe一般是在C:\Windows\Microsoft.NET\...原创 2019-03-20 11:17:49 · 531 阅读 · 0 评论