• 2024-07-02C#的方法重载,枚举,结构体
    一.方法重载staticvoidAdd(){Console.WriteLine(10+20);}staticvoidAdd(){Console.WriteLine(10.5+20.5);}上述的代码是无法运行的,报错的原因是因为,他们两个方法名一样,所以报错,而方法重载,简单的说就是要两个方法名一样,如果方法名一样,那又该怎么
  • 2024-07-02设计模式的六大原则
    1、依赖倒置原则///<summary>///高层模块不应该依赖底层模块///二者都应该依赖其抽象///</summary>publicclassStudent{publicintAge{get;set;}publicstringName{get;set;}publicdoubleScores{get;set;}publicvoidGetAge()
  • 2024-07-01通过依赖倒置,将子类数据传递给父类
    1、不管是父类调用子类的方法,还是获取子类的属性,道理都是一样的,依赖倒置只是其中一个方法publicclassChild:Parent{ publicstringDefault{get;set;} publicChild() { Default="默认值"; }}我现在父类需要拿到子类的Default1、增加一个接口IChild,将接口当做参数
  • 2024-06-22【C#进阶】多线程和异步编程_2024-06-22
    关于多线程和异步编程简单来说,就是多线程并行执行任务提速,异步编程等待不浪费资源,并发集合确保数据访问安全,三者合力提升程序效率与反应能力。1.理解线程想象一下,你在厨房做饭,同时需要洗菜、切菜、炒菜。如果你一个人来做,就需要在这些任务之间来回切换,这很慢。但如果请几个朋友
  • 2024-06-22【C#进阶】高级面向对象特性_2024-06-22
    一、概念1.高级面向对象特性面向对象编程(OOP)是一种编程范式,它使用“对象”来设计软件。这些对象可以包含数据和行为。高级面向对象特性包括:封装:把数据和操作这些数据的代码打包在一起,不让外部直接访问数据,而是通过方法来操作。继承:允许新创建的类(子类)继承现有类(父类)的属性和
  • 2024-06-22【C#入门超简单】简单的项目实践
    学习C#时,通过创建控制台应用程序来实践文件操作、用户输入与输出处理是非常好的方式。下面我将引导你完成一个简单的项目:一个文本记录器,它能让你输入一些文本,保存到文件中,还能读取并显示之前保存的内容。第一步:创建控制台应用程序项目打开VisualStudio或VisualStudioCode。
  • 2024-06-19异步任务取消、超时
    一、定义异步任务//定义异步任务publicclassAsyncClass{publicstaticasyncTaskTaskAsync(CancellationTokentoken){token.Register(()=>{Console.WriteLine("TaskAsync被取消");});for(inti=0;i<10;i++){
  • 2024-06-18C# 模式匹配
    C#模式匹配https://www.geeksforgeeks.org/pattern-matching-in-c-sharp/https://www.codeproject.com/Articles/5368148/Your-Quick-Guide-to-Pattern-Matching-in-Csharp什是模式匹配模式匹配是一种在代码中识别和提取数据的机制。它允许您以声明式的方式检查对象的形状
  • 2024-06-15C# —— 条件分支语句
    分支语句的作用让顺序执行的代码产生分支if语句是第一个可以让我们的程序产生逻辑变化的语句if语句 作用:判断满足条件时执行的一些代码      语法:      单分支      if(bool类型值)      {     
  • 2024-06-15C# 利用 System.Guid.NewGuid() 生成卡密CDK
    GUID:全球唯一标识符(共32位,其中每个x是0-9或a-f范围内的一个十六进制的数字)格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx例如:0d9d526e-77c4-46bc-9955-6c0e95bc176e为什么要使用GUID?世界上的任何两台计算机都不会生成重复的GUID值。GUID主要用于在拥有多个节点
  • 2024-06-15【C#入门超简单】基本的.NET框架概念
    一、基本的.NET框架概念.NET框架是一个由微软开发的软件开发平台,它提供了一个运行时环境(CLR-CommonLanguageRuntime)和一套丰富的类库(FCL-FrameworkClassLibrary)。CLR负责管理代码的执行,而FCL则提供了大量预先编写好的代码,供开发者使用。例子:想象一下.NET框架是一个大型
  • 2024-06-12c#编写一个简单的http服务器
    C#代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Net;usingSystem.IO;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){usin
  • 2024-06-11C# —— 显示转换
    显示转换:通过一些方法可以将其他数据类型转换为我们想要的数据类型1.括号强转作用:一般情况下将高精度的类型转换为低精度      //语法:变量类型变量名=(转换的变量类型名称)变量;      //注意:精度问题范围问题sbytesb=1;short
  • 2024-06-11C# get TotalVisibleMemorySize FreePhysicalMemory TotalVirtualMemorySize FreeVirtualMemory
    1.InstallSystem.ManagementinNuget;2usingSystem.Management;namespaceConsoleApp37{internalclassProgram{staticvoidMain(string[]args){System.Timers.Timertm=newSystem.Timers.Timer();tm.
  • 2024-06-11基于.Net 框架实现WebSocket 简单通信——服务端
    新建项目创建一个.Net框架的控制台程序。添加包 项目→管理NuGet程序包打开包管理窗口,添加SuperWebSocket程序包。实现项目→添加类打开添加新项窗口,添加一个C#类。启动监听 WebSocketServersocket=newWebSocketServer();Console.WriteLine("IP:"+ip
  • 2024-06-10Csharp Base64 隐写.md
    Csharp(C#.net)Base64隐写最近被拉去报名参加CTF比赛,赶鸭子上架,趁着端午假期在网上做了做题,有一些题需要用到编程,网上介绍的一般都是Python写的,自己平时鼓捣的后端语言只有C#,python的脚本看得一知半解,有多函数还得去查阅用法,非常不方便,便想试着用C#写写试试,其实C#也支持在vsco
  • 2024-06-09C# virtual 关键字
    virtual使用c#的方法,默认为非虚方法,如果一个方法被声明为virtual(虚方法),则继承该方法的任何类都可以实现它自己的版本。publicclassBaseEngineer{publicvirtualvoidWork(){Console.WriteLine("BaseEngineer.Work");}}virtual方法可以通过
  • 2024-06-06EFCore和EF6的使用和区别
    1、Sqlserver是微软的亲儿子,很少会报错,EF报错问题最多出现在Mysql。以下使用mysql为例子C#一般很形象,带Core的都是.NetCore平台的。所以在.NetFramework平台我们使用EF6,也就是EntityFramework6在.NetCore平台使用EFCore2、直接上代码(.Net6)internalclassProgram{
  • 2024-06-05C# 12 new feature Collection Expression,Primary Consctructor,Generic type alias,
    usinglistOfInt=System.Collections.Generic.List<int>;namespaceConsoleApp36{internalclassProgram{staticvoidMain(string[]args){GenericTypeAlias();}staticvoidGenericTypeAlias()
  • 2024-06-04.NET Core Configuration 配置项知识点一网打尽!
    控制台项目中,演示示例ConsoleAppConfig项目1.自定义 DictionaryConfig 内存字典模式dotnet add package Microsoft.Extensions.ConfigurationIConfigurationBuilder builder = new ConfigurationBuilder();builder.AddInMemoryCollection(new Dictionary<s
  • 2024-06-04.NET Core Configuration 配置项知识点一网打尽!
    控制台项目中,演示示例1.自定义 DictionaryConfig 内存字典模式dotnet add package Microsoft.Extensions.ConfigurationIConfigurationBuilder builder = new ConfigurationBuilder();builder.AddInMemoryCollection(new Dictionary<string, string>(){  
  • 2024-06-03控制台相关
    输入输出输出Console.WriteLine("123123");//光标空行Console.Write("123123123123");//不空行输入stringstr=Console.ReadLine();//如果在ReadKey(true)不会把输入的内容显示在控制台上charc=Console.ReadKey(true).KeyChar;Console.WriteLine(c);控制台
  • 2024-05-31深入解析C#中的模式匹配:简洁高效的功能探索
    模式匹配是编程领域中一种强大的工具,用于检测表达式是否符合特定条件,C#通过一系列丰富且灵活的模式表达式与语句,极大地简化了这一过程。本文将逐一剖析C#提供的模式匹配特性,揭示其背后的简洁逻辑与强大功能。C#模式匹配核心组件C#模式匹配围绕两个基本构建块展开:表达式/语句和
  • 2024-05-30C#中处理JSON数据的方式
    1.将对象序列化为JSON字符串在C#中,可以使用System.Text.Json和Newtonsoft.Json这两个流行的库来将对象序列化为JSON字符串。以下是使用这两个库进行序列化的示例代码:usingSystem;usingSystem.Text.Json;usingNewtonsoft.Json;publicclassPerson{publicstringN
  • 2024-05-28linq语句
    所有实现了IEnumerable<T>接口的类都可以使用这些方法1intcount1=list.Count(e=>e.Salary>5000||e.Age<30);2intcount2=list.Where(e=>e.Salary>5000||e.Age<30).Count();1boolb1=list.Any(e=>e.Salary>8000);2boolb2=l