• 2024-06-20CSharp: 未加载文件或程序集
    发布到IIS服务器提示错误:不能多个版本的同一DLL,虽是文件名不同,也是这个报错    未能加载文件或程序集“System.Runtime.CompilerServices.Unsafe,Version=4.0.4.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。找到的程序集清单定义与程
  • 2024-05-27windows系统桌面壁纸切换的三种csharp办法,兼容win10及旧版,还有一个现成桌面小程序
    我自己用这些代码做的小app如下: 最新版本已经改成了服务的方式,也可以选择性添加系统的右键菜单,并且我自己使用的源码库已经开源到了nuget,大家可以直接拿来做二次开发,新版的下载地址为:https://www.zhaimaojun.cn/P/桌面壁纸管理器/开源库为(可以直接在vs的nuget包管理中搜索
  • 2024-05-22CSharp: Tuples
     ///<summary>///使用元组(Tuples或ValueTuple///</summary>///<paramname="id"></param>///<paramname="name"></param>///<returns></return
  • 2024-05-13CSharp: SunCalc for calculating
     usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Threading.Tasks;namespaceWebAppPdfDemo{///<summary>//////</summary>publicstaticclassDateTimeJavaScriptExt{
  • 2024-05-13CSharp: SunTimeCalculator
     usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;namespaceWebAppPdfDemo{///<summary>//////</summary>publicclassSunTimeCalculator{#region辅助函数///<
  • 2024-04-18fluent AI的常用方法
    FluentAPI是EntityFrameworkCore的一个功能,它提供了一组可以以流式、链式调用的方法来配置EF的模型。它给予你对模型的完全控制权,高于数据注解(DataAnnotations)的优先级。它通常用于DbContext中的OnModelCreating方法里。以下是一些常用的FluentAPI配置方法的例子:配置主键cs
  • 2024-04-16csharp 获取当前程序的所在目录
    获取当前程序所在的目录//获取当前程序的执行目录信息Console.WriteLine(AppDomain.CurrentDomain.BaseDirectory);//asp.net使用,不过在console下也是/xxx/bin/Debug/net8.0/Console.WriteLine(System.Reflection.Assembly.GetExecutingAssembly().Location);//=>/xxx/
  • 2024-04-15csharp selenium HtmlAgilityPack 爬虫 网页解析 微信公众号
    Wechat.Crawler/App/App.csproj<ProjectSdk="Microsoft.NET.Sdk"><ItemGroup><ProjectReferenceInclude="..\Blog\Blog.csproj"/></ItemGroup><ItemGroup><NoneUpdate="nlog.config&
  • 2024-04-12Csharp线程
    CSharpe线程 目录CSharpe线程C#如何操作线程Thread1.Thread如何开启一个线程呢?2.Thread中常见的API3.thread的扩展封装threadpool一、.NETFramework2.0时代:出现了一个线程池ThreadPool二、线程池如何申请一个线程呢?三、线程等待四、线程池如何控制线
  • 2024-04-12Csharp中表达式树
    Csharper中的表达式树这节课来了解一下表示式树是什么?在C#中,表达式树是一种数据结构,它可以表示一些代码块,如Lambda表达式或查询表达式。表达式树使你能够查看和操作数据,就像你可以查看和操作代码一样。它们通常用于创建动态查询和解析表达式。一、认识表达式树为什么要这样说
  • 2024-04-07CSharp: Tuples
     //元组Tuplesvarperson=("GeovinDu",30,"SoftDeveloper");Console.WriteLine(person.Item1);Tuple<string,int,string>persons=newTuple<string,int,string>("GeovinDu",30,"SoftDeveloper");C
  • 2024-04-02Csharp线程
    CSharpe线程目录CSharpe线程C#如何操作线程Thread1.Thread如何开启一个线程呢?2.Thread中常见的API3.thread的扩展封装threadpool一、.NETFramework2.0时代:出现了一个线程池ThreadPool二、线程池如何申请一个线程呢?三、线程等待四、线程池如何控制线程数量Task一、Task开启线
  • 2024-03-27Csharp中表达式树
    Csharper中的表达式树这节课来了解一下表示式树是什么?在C#中,表达式树是一种数据结构,它可以表示一些代码块,如Lambda表达式或查询表达式。表达式树使你能够查看和操作数据,就像你可以查看和操作代码一样。它们通常用于创建动态查询和解析表达式。一、认识表达式树为什么要这样说?
  • 2024-03-22(Unity)Assembly Definition
    简单来说,AssemblyDefinition是一个可以划分代码集合的东西。​ 其核心用途一是减少编译时间,Unity在需要编译的时候会找到对应的csproj文件,然后直接对其进行重编译。默认情况下所有程序集都搁在Assembly-CSharp.csproj一起编译,随着你脚本越来越多,Assembly-CSharp.csproj也越来越
  • 2024-03-14CSharp的lambda表达式匿名类扩展方法
    c#的lamba表达式之前已经写过一些关于委托还有事件的文章,今天就来介绍一下lambda表达式。首先定义需要的函数以及委托{publicdelegatevoidDoNothingDelegate();publicdelegatevoidStudyDelegate(intid,stringname);privatevoidDoNothing(){Console.WriteL
  • 2024-02-02CSharp: QuestPDF 2023.12.4 in doenet 8.0
     /*ide:vs202217.5.net8.0QuestPDF23.12.4from:https://github.com/QuestPDF/QuestPDF/discussions/560*/namespaceConsoleAppFontPdfDemo{usingQuestPDF;usingQuestPDF.Fluent;usingQuestPDF.Infrastructure;usingQuest
  • 2024-02-02在C#中,你可以在两个嵌套的`for`循环中同时使用变量`i`,但是你需要确保每个循环中的`i`都被正确地初始化和更新。这是一个例子: ```csharp for (int i = 0; i <
    在C#中,你可以在两个嵌套的for循环中同时使用变量i,但是你需要确保每个循环中的i都被正确地初始化和更新。这是一个例子:for(inti=0;i<5;i++){for(inti=0;i<5;i++){//在这里执行你的代码}}在这个例子中,外部循环和内部循环都有自己的i变量,
  • 2024-01-31csharp #if #endif 预处理器指令
    RemoteDesktopConnection\src\Program.cs#definedebugusingSystem;usingSystem.Text.RegularExpressions;namespaceRDP{classProgram{staticvoidMain(string[]args){varinfo=newLogInfo();#ifdebug
  • 2024-01-31csharp_获取属性的字符串名称
    PropertySupport\Person.cspublicclassPerson{publicstringName{get;set;}publicstringgetPropertyName(){returnPropertySupport.ExtractPropertyName(()=>Name);}}PropertySupport\Program.csPersonperson=newP
  • 2024-01-30csharp 发布订阅 接口
    event_learn\MyEvent.csnamespaceMyEvent;publicdelegatevoidMyEventHandler(objectsender,EventArgse);//定义一个自定义的事件接口,包含一个事件声明publicinterfaceIMyEvent{//使用event关键字声明一个事件,指定委托类型和事件名称eventMyEven
  • 2024-01-30csharp 发布订阅 传递参数
    event_learn\Program.cs//定义一个派生自EventArgs的自定义类,用于封装数据publicclassMyEventArgs:EventArgs{//定义一个公共的字符串属性,用于存储和获取数据publicDateTime?EmitDate{get;set;}}//定义一个发布者类,它有一个MyEvent事件public
  • 2024-01-30csharp 发布订阅 设计模式
    event_learn\Program.csusingSystem;//定义一个发布者类,它有一个MyEvent事件publicclassPublisher{//声明一个事件,使用EventHandler委托类型publiceventEventHandlerMyEvent;//定义一个触发事件的方法protectedvirtualvoidOnMyEvent()
  • 2024-01-24C# 委托和事件:从基础到实践
    在C#中,委托和事件是两个核心概念,它们使得开发者能够实现基于事件的编程模型。委托允许将方法作为参数传递,而事件则是委托的封装,使得开发者可以订阅和触发这些委托。一、委托的定义和用法委托是一种特殊的类型,它代表了一个具有特定参数列表和返回类型的函数。这个函数可以由任何方法
  • 2024-01-23csharp 扩展方法
    扩展方法//定义一个静态类publicstaticclassStringExtension{//定义一个静态方法,用this关键字指定要扩展的类型publicstaticstringMyReverse(thisstrings){//实现字符串反转的逻辑char[]chars=s.ToCharArray();Array.
  • 2024-01-23ILRuntime是如何与Unity互相调用的
    ILRuntime是一个跨平台CLR实现,它可以在多个平台上运行C#代码,包括Android、iOS、Windows、Linux等等。ILRuntime的实现方式是将C#代码编译成IL代码,然后在运行时通过JIT或AOT的方式将IL代码转换为机器代码,从而实现跨平台的效果。ILRuntime的主要功能包括热更新、动态加载、代码加密