C#学习

C#学习

  • 1.B站丑萌气质狗
    • C#的循环-判断
    • 泛型
    • 错误处理
    • 面向对象
    • static的使用
    • 定义showInfo类和Hero类
  • 在这里插入图片描述 然后在该解决方案add新建一个类库,点击rebuild,会在bin文件夹下生成.dll文件 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/df960c0eefc04f8db1b3ba6488b01c5d.png) 现在解决方案里有ConsoleAppFrameWork和ClassLibrary两个项目,需要把类库中的.dll文件引入进来,然后会在ConsoleAppFrameWork的References下面看到。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ec1945fb0af147b7984ba1f3b8387761.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4eaf405189824917b6a429b1588c86b4.png)
    • 文件读写

1.B站丑萌气质狗

视频链接

C#的循环-判断

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleAppFramework
{internal class Program{static void Main(string[] args){for (int i=0; i<=2;i++) {GetUserInfo();//第一个用户}Console.ReadKey();}static string ChangeData(String name1) {if (name1 == "张三"){Console.WriteLine("你输入的是张三");name1 = "法外狂徒张三";}else if (name1 == "李四"){Console.WriteLine("你输入的是李四");name1 = "无情铁手李四";}else if (name1 == "王五"){Console.WriteLine("你输入的是王五");name1 = "柔情姐姐王五";}else {Console.WriteLine("你输入的不正确,无法修改");}return name1;}public static void GetUserInfo() {Console.WriteLine("这是我的第一个程序");Console.WriteLine("请输入你的故乡");string home = Console.ReadLine();Console.WriteLine("请输入你的名字");string name = Console.ReadLine();name=ChangeData(name);Console.WriteLine("请输入你的年龄");string age = Console.ReadLine();Console.WriteLine("请输入你的爱好");string hobby = Console.ReadLine();Console.WriteLine("");Console.WriteLine($"故乡:{home}  名字:{name}  年龄:{age}  爱好:{hobby}");}}
}

泛型

功能:查找泛型集合中有几个【张三】

      static void Main(string[] args){//泛型集合List<string> names = new List<string>();names.Add("张三");names.Add("李四");names.Add("王五");int num = 0;for (int i = 0; i < names.Count; i++){if (names[i] == "张三"){num = num + 1;}}Console.WriteLine(num);Console.ReadKey();}

错误处理

(1)不循环的错误处理

      static void Main(string[] args){int age = 0;Console.WriteLine("请输入年龄:");string input = Console.ReadLine();try {age = int.Parse(input); }catch { Console.WriteLine("请输入正确的年龄(数字字符串)!");return;//捕获到错误后直接return,要不然后面的代码还会执行,错误的打印出10}age += 10;Console.WriteLine("你的年龄是:"+age.ToString());Console.ReadKey();}

(2)循环的错误处理,直到控制台输入正确的年龄,跳出循环

        static void Main(string[] args){int age = 0;bool flag = true;for (; flag; ) {//直到输入正确的年龄,跳出循环Console.WriteLine("请输入年龄:");string input = Console.ReadLine();try{age = int.Parse(input);flag= false;}catch{Console.WriteLine("请输入正确的年龄(数字字符串)!");flag = true;//出现年龄错误时一直进入循环,直到输入正确的年龄}age += 10;// Console.WriteLine("你的年龄是:" + age.ToString());及时出错也会进入这一步,年龄是0+10=10}Console.WriteLine("请输入姓名!");string name = Console.ReadLine();Console.WriteLine("请输入家乡!");string hometown = Console.ReadLine();Console.WriteLine($"故乡:{hometown}  名字:{name}  十年后的年龄:{age}");Console.ReadKey();}

面向对象

基本属性

    internal class Program{static void Main(string[] args){   Console.WriteLine("锄禾日当午!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("汗滴禾想吐!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("谁知盘中餐!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("粒粒皆辛苦!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("这位农民工是谁?");string name=Console.ReadLine();Console.WriteLine("这位农民原来是--->" + name);Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//这位农民的基本信息,技能及伤害string sex = "男";int age = 22;int high = 180;int shanghai = 100;int xueliang = 100;string jineng1 = "飞檐走壁";int jinneg1shanghai = 20;string jineng2 = "飞沙走石";int jinneg2shanghai = 30;Console.WriteLine("性别:"+sex);Console.WriteLine("年龄:"+age);Console.WriteLine("身高:"+high);Console.WriteLine("基础伤害:"+shanghai);Console.WriteLine("基础血量:"+xueliang);Console.WriteLine("技能1伤害:"+jinneg1shanghai);Console.WriteLine("技能2伤害:"+jinneg2shanghai);Console.ReadKey();// Console.WriteLine("基础伤害:");Console.WriteLine("此时远处传来一个粗犷的声音");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();Console.WriteLine("走进一看是一位警察");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();Console.WriteLine("这个警察的名称");string jingchaname = Console.ReadLine();Console.WriteLine("这位警察原来是--->" + jingchaname);Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//这位警察的基本信息,技能及伤害string sex2 = "男";int age2 = 22;int high2 = 180;int shanghai2 = 100;int xueliang2 = 100;string jineng11 = "跆拳道";int jinneg11shanghai = 20;string jineng22 = "狙击手";int jinneg22shanghai = 30;Console.WriteLine("性别:" + sex2);Console.WriteLine("年龄:" + age2);Console.WriteLine("身高:" + high2);Console.WriteLine("基础伤害:" + shanghai2);Console.WriteLine("基础血量:" + xueliang2);Console.WriteLine("技能1伤害:" + jinneg11shanghai);Console.WriteLine("技能2伤害:" + jinneg22shanghai);Console.ReadKey();}

(2)封装类属性后创键的对象

class Hero {public string name = "";public string sex = "男";public int age = 22;public int high = 180;public int shanghai = 100;public int xueliang = 100;public string jineng1 = "飞檐走壁";public int jinneg1shanghai = 20;public string jineng2 = "飞沙走石";public int jinneg2shanghai = 30;
}internal class Program
{static void Main(string[] args){   Console.WriteLine("锄禾日当午!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("汗滴禾想吐!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("谁知盘中餐!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("粒粒皆辛苦!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("这位农民工是谁?");Hero hr1=new Hero();hr1.name =Console.ReadLine();Console.WriteLine("这位农民原来是--->" + hr1.name);Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//这位农民的基本信息,技能及伤害hr1.sex = "男";hr1.age = 22;hr1.high = 180;hr1.shanghai = 100;hr1.xueliang = 100;hr1.jineng1 = "飞檐走壁";hr1.jinneg1shanghai = 20;hr1.jineng2 = "飞沙走石";hr1.jinneg2shanghai = 30;Console.WriteLine("性别:"+ hr1.sex);Console.WriteLine("年龄:"+ hr1.age);Console.WriteLine("身高:"+ hr1.high);Console.WriteLine("基础伤害:"+ hr1.shanghai);Console.WriteLine("基础血量:"+ hr1.xueliang);Console.WriteLine("技能1伤害:"+ hr1.jinneg1shanghai);Console.WriteLine("技能2伤害:"+ hr1.jinneg2shanghai);Console.ReadKey();// Console.WriteLine("基础伤害:");Console.WriteLine("此时远处传来一个粗犷的声音");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();Console.WriteLine("走进一看是一位警察");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();Console.WriteLine("这个警察的名称");Hero hr2 = new Hero();hr2.name = Console.ReadLine();Console.WriteLine("这位警察原来是--->" + hr2.name);Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//这位警察的基本信息,技能及伤害hr2.sex= "男";hr2.age = 22;hr2.high = 180;hr2.shanghai = 100;hr2.xueliang= 100;hr2.jineng1 = "跆拳道";hr2.jinneg1shanghai = 20;hr2.jineng2 = "狙击手";hr2.jinneg2shanghai = 30;Console.WriteLine("性别:" + hr2.sex);Console.WriteLine("年龄:" + hr2.age);Console.WriteLine("身高:" + hr2.high);Console.WriteLine("基础伤害:" + hr2.shanghai);Console.WriteLine("基础血量:" + hr2.xueliang);Console.WriteLine("技能1伤害:" + hr2.jinneg1shanghai);Console.WriteLine("技能2伤害:" + hr2.jinneg2shanghai);Console.ReadKey();}

(3)封装到hero类中,并定义showInfo方法

    class Hero {public string name = "";public string sex = "男";public int age = 22;public int high = 180;public int shanghai = 100;public int xueliang = 100;public string jineng1 = "飞檐走壁";public int jinneg1shanghai = 20;public string jineng2 = "飞沙走石";public int jinneg2shanghai = 30;public void showInfo(){Console.WriteLine("性别:" + sex);Console.WriteLine("年龄:" + age);Console.WriteLine("身高:" + high);Console.WriteLine("基础伤害:" + shanghai);Console.WriteLine("基础血量:" + xueliang);Console.WriteLine("技能1伤害:" + jinneg1shanghai);Console.WriteLine("技能2伤害:" + jinneg2shanghai);}}internal class Program{static void Main(string[] args){   Console.WriteLine("锄禾日当午!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("汗滴禾想吐!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("谁知盘中餐!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("粒粒皆辛苦!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("这位农民工是谁?");Hero hr1=new Hero();hr1.name =Console.ReadLine();Console.WriteLine("这位农民原来是--->" + hr1.name);Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//这位农民的基本信息,技能及伤害hr1.sex = "男";hr1.age = 22;hr1.high = 180;hr1.shanghai = 100;hr1.xueliang = 100;hr1.jineng1 = "飞檐走壁";hr1.jinneg1shanghai = 20;hr1.jineng2 = "飞沙走石";hr1.jinneg2shanghai = 30;//Console.WriteLine("性别:" + hr1.sex);//Console.WriteLine("年龄:" + hr1.age);//Console.WriteLine("身高:" + hr1.high);//Console.WriteLine("基础伤害:" + hr1.shanghai);//Console.WriteLine("基础血量:" + hr1.xueliang);//Console.WriteLine("技能1伤害:" + hr1.jinneg1shanghai);//Console.WriteLine("技能2伤害:" + hr1.jinneg2shanghai);hr1.showInfo();Console.ReadKey();// Console.WriteLine("基础伤害:");Console.WriteLine("此时远处传来一个粗犷的声音");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();Console.WriteLine("走进一看是一位警察");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();Console.WriteLine("这个警察的名称");Hero hr2 = new Hero();hr2.name = Console.ReadLine();Console.WriteLine("这位警察原来是--->" + hr2.name);Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//这位警察的基本信息,技能及伤害hr2.sex= "男";hr2.age = 22;hr2.high = 180;hr2.shanghai = 100;hr2.xueliang= 100;hr2.jineng1 = "跆拳道";hr2.jinneg1shanghai = 20;hr2.jineng2 = "狙击手";hr2.jinneg2shanghai = 30;//Console.WriteLine("性别:" + hr2.sex);//Console.WriteLine("年龄:" + hr2.age);//Console.WriteLine("身高:" + hr2.high);//Console.WriteLine("基础伤害:" + hr2.shanghai);//Console.WriteLine("基础血量:" + hr2.xueliang);//Console.WriteLine("技能1伤害:" + hr2.jinneg1shanghai);//Console.WriteLine("技能2伤害:" + hr2.jinneg2shanghai);hr2.showInfo();Console.ReadKey();}

static的使用

static可以直接使用,不用对类实例化。

定义showInfo类和Hero类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleAppFramework
{class Hero {public string name = "";public string sex = "男";public int age = 22;public int high = 180;public int shanghai = 100;public int xueliang = 100;public string jineng1 = "飞檐走壁";public int jinneg1shanghai = 20;public string jineng2 = "飞沙走石";public int jinneg2shanghai = 30;}class ShowInfo{public static void showInfo(Hero hero){Console.WriteLine("性别:" + hero.sex);Console.WriteLine("年龄:" + hero.age);Console.WriteLine("身高:" + hero.high);Console.WriteLine("基础伤害:" + hero.shanghai);Console.WriteLine("基础血量:" + hero.xueliang);Console.WriteLine("技能1伤害:" + hero.jinneg1shanghai);Console.WriteLine("技能2伤害:" + hero.jinneg2shanghai);}}internal class Program{static void Main(string[] args){   Console.WriteLine("锄禾日当午!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("汗滴禾想吐!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("谁知盘中餐!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("粒粒皆辛苦!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("这位农民工是谁?");Hero hr1=new Hero();hr1.name =Console.ReadLine();Console.WriteLine("这位农民原来是--->" + hr1.name);Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//这位农民的基本信息,技能及伤害hr1.sex = "男";hr1.age = 22;hr1.high = 180;hr1.shanghai = 100;hr1.xueliang = 100;hr1.jineng1 = "飞檐走壁";hr1.jinneg1shanghai = 20;hr1.jineng2 = "飞沙走石";hr1.jinneg2shanghai = 30;ShowInfo.showInfo(hr1);//不需要实例化ShowInfo类Console.ReadKey();Console.WriteLine("此时远处传来一个粗犷的声音");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();Console.WriteLine("走进一看是一位警察");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();Console.WriteLine("这个警察的名称");Hero hr2 = new Hero();hr2.name = Console.ReadLine();Console.WriteLine("这位警察原来是--->" + hr2.name);Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//这位警察的基本信息,技能及伤害hr2.sex= "男";hr2.age = 22;hr2.high = 180;hr2.shanghai = 100;hr2.xueliang= 100;hr2.jineng1 = "跆拳道";hr2.jinneg1shanghai = 20;hr2.jineng2 = "狙击手";hr2.jinneg2shanghai = 30;ShowInfo.showInfo(hr1);//不需要实例化ShowInfo类Console.ReadKey();}}
}

把类抽离出来,放到新的文件里【新建了Hero和ShowInfo文件夹】
在这里插入图片描述
program.cs

using MyShowInfo;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleAppFramework
{internal class Program{static void Main(string[] args){   Console.WriteLine("锄禾日当午!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("汗滴禾想吐!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("谁知盘中餐!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("粒粒皆辛苦!");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//代码暂停,输入任意键继续Console.WriteLine("这位农民工是谁?");Hero hr1=new Hero();hr1.name =Console.ReadLine();Console.WriteLine("这位农民原来是--->" + hr1.name);Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//这位农民的基本信息,技能及伤害hr1.sex = "男";hr1.age = 22;hr1.high = 180;hr1.shanghai = 100;hr1.xueliang = 100;hr1.jineng1 = "飞檐走壁";hr1.jinneg1shanghai = 20;hr1.jineng2 = "飞沙走石";hr1.jinneg2shanghai = 30;ShowInfo.showInfo(hr1);//不需要实例化ShowInfo类Console.ReadKey();Console.WriteLine("此时远处传来一个粗犷的声音");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();Console.WriteLine("走进一看是一位警察");Console.WriteLine("(请按任意键继续)!");Console.ReadKey();Console.WriteLine("这个警察的名称");Hero hr2 = new Hero();hr2.name = Console.ReadLine();Console.WriteLine("这位警察原来是--->" + hr2.name);Console.WriteLine("(请按任意键继续)!");Console.ReadKey();//这位警察的基本信息,技能及伤害hr2.sex= "男";hr2.age = 22;hr2.high = 180;hr2.shanghai = 100;hr2.xueliang= 100;hr2.jineng1 = "跆拳道";hr2.jinneg1shanghai = 20;hr2.jineng2 = "狙击手";hr2.jinneg2shanghai = 30;ShowInfo.showInfo(hr1);//不需要实例化ShowInfo类Console.ReadKey();}static string ChangeData(String name1) {if (name1 == "张三"){Console.WriteLine("你输入的是张三");name1 = "法外狂徒张三";}else if (name1 == "李四"){Console.WriteLine("你输入的是李四");name1 = "无情铁手李四";}else if (name1 == "王五"){Console.WriteLine("你输入的是王五");name1 = "柔情姐姐王五";}else {Console.WriteLine("你输入的不正确,无法修改");}return name1;}public static void GetUserInfo() {Console.WriteLine("这是我的第一个程序");Console.WriteLine("请输入你的故乡");string home = Console.ReadLine();Console.WriteLine("请输入你的名字");string name = Console.ReadLine();name=ChangeData(name);Console.WriteLine("请输入你的年龄");string age = Console.ReadLine();Console.WriteLine("请输入你的爱好");string hobby = Console.ReadLine();Console.WriteLine("");Console.WriteLine($"故乡:{home}  名字:{name}  年龄:{age}  爱好:{hobby}");}}
}

ShowInfo.cs

using ConsoleAppFramework;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace MyShowInfo
{class ShowInfo{public static void showInfo(Hero hero){Console.WriteLine("性别:" + hero.sex);Console.WriteLine("年龄:" + hero.age);Console.WriteLine("身高:" + hero.high);Console.WriteLine("基础伤害:" + hero.shanghai);Console.WriteLine("基础血量:" + hero.xueliang);Console.WriteLine("技能1伤害:" + hero.jinneg1shanghai);Console.WriteLine("技能2伤害:" + hero.jinneg2shanghai);}}}

Hero.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleAppFramework
{class Hero{public string name = "";public string sex = "男";public int age = 22;public int high = 180;public int shanghai = 100;public int xueliang = 100;public string jineng1 = "飞檐走壁";public int jinneg1shanghai = 20;public string jineng2 = "飞沙走石";public int jinneg2shanghai = 30;}}

在这里插入图片描述
然后在该解决方案add新建一个类库,点击rebuild,会在bin文件夹下生成.dll文件
在这里插入图片描述
现在解决方案里有ConsoleAppFrameWork和ClassLibrary两个项目,需要把类库中的.dll文件引入进来,然后会在ConsoleAppFrameWork的References下面看到。
在这里插入图片描述
在这里插入图片描述

重新启动,将ConsoleAppFrameWork设为启动项,再次执行时多了两个文件classLibrary.cll和pdb文件,【这个是结果】
可能处出现的问题:哪些文件中使用到新建的类库,就在哪些文件里using 类库【类库记得rebuild,.dll文件】
在这里插入图片描述

文件读写

删除一个文件
ChangFile/programmer.cs

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ChangeFile
{internal class Program{static void Main(string[] args){string path = "C:/Users/sesa779614/learning";//获取路径下的所有文件DirectoryInfo root=new DirectoryInfo(path);FileInfo[] files= root.GetFiles();List< FileInfo > filesInfo = files.ToList();for (int i=0; i<filesInfo.Count;i++) { FileInfo file = filesInfo[i];if (file.Name== "Async in C# 5.0.pdf") { System.IO.File.Delete(file.FullName);Console.WriteLine("Async in C# 5.0.pdf已经被删除了");}// Console.WriteLine(file.FullName);// Console.WriteLine(file.Name);}//string[] files = Directory.GetFiles(path, "*", SearchOption.AllDirectories);//foreach (string file in files)//{//    Console.WriteLine(file);//}Console.ReadKey();}}
}

文件改名

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ChangeFile
{internal class Program{static void Main(string[] args){string path = "C:/Users/sesa779614/learning";//获取路径下的所有文件DirectoryInfo root=new DirectoryInfo(path);FileInfo[] files= root.GetFiles();List< FileInfo > filesInfo = files.ToList();for (int i=0; i<filesInfo.Count;i++) { FileInfo file = filesInfo[i];string filename = file.Name;if (filename== "Async in C# 5.0.pdf") { System.IO.File.Delete(file.FullName);Console.WriteLine("Async in C# 5.0.pdf已经被删除了");}if (filename.Contains("C#")) {//如果文件名中包含C#,就给文件改名称string srgFileName=filesInfo[i].FullName;string destFileName=filesInfo[i].Directory.FullName+"/gaigai"+ filesInfo[i].Extension;//文件夹路径+新的文件名File.Move(srgFileName,destFileName);}Console.WriteLine(filename);Console.WriteLine(filename.Contains("C#"));}//string[] files = Directory.GetFiles(path, "*", SearchOption.AllDirectories);//foreach (string file in files)//{//    Console.WriteLine(file);//}Console.ReadKey();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3246984.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

SSE(Server Sent Event)实战(3)- Spring Web Flux 实现

上篇博客 SSE&#xff08;Server Sent Event&#xff09;实战&#xff08;2&#xff09;- Spring MVC 实现&#xff0c;我们用 Spring MVC 实现了简单的消息推送&#xff0c;并且留下了两个问题&#xff0c;这篇博客&#xff0c;我们用 Spring Web Flux 实现&#xff0c;并且看…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第二篇 Linux系统编程篇-第三十一章 文件IO和标准IO

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

进程的优先级与命令行参数

一、进程的优先级 1、理解 制定一个进程获取某种资源的先后顺序。 在Linux中数字越小优先级越高。 2、优先级的意义 进程访问资源始终是有限的&#xff0c;系统中的进程都是很多的。 操作系统关于调度和优先级规则 分时操作系统&#xff0c;基本公平。如果进程长时间不被…

Study--Oracle-07-ASM自动存储管理(二)

一、ASM安装准备条件 1、ASM支持存储类型 本地祼设备(本地的磁盘和分区) 网络附加存储(NAS) 存储区域网络(SAN) 2、ASM使用本地裸设备,要点: 已经被挂载到操作系统上或者已经做了分区 映射裸设备为文件名 设置正确的权限(针对grid用户和asmadmin组,权限为660) 二、OR…

玄机-第一章 应急响应-webshell查杀

文章目录 前言简介应急开始准备工作步骤 1步骤 2步骤 3步骤 4 总结 前言 作者是个垃圾&#xff0c;第一次玩玄机太紧张了&#xff0c;不知道flag是啥样找了半天&#xff0c;第二次开靶机多次尝试才知道格式。争取下次一次过。 简介 靶机账号密码 root xjwebshell 1.黑客webshel…

网络割接方案通用模板

第一章 项目概述 1.1 编写目的 为规范“十三五”以来&#xff0c;随着移动互联新技术的发展以及我国政府职能的不断转变&#xff0c; 我国的政法网络进入新的发展阶段&#xff0c;跨地域、跨部门、跨系统的信息共享、业务 协同以及智慧政务等成为了各地电子政务的重点建设内容。…

【数学建模】——多领域资源优化中的创新应用-六大经典问题解答

目录 题目1&#xff1a;截取条材 题目 1.1问题描述 1.2 数学模型 1.3 求解 1.4 解答 题目2&#xff1a;商店进货销售计划 题目 2.1 问题描述 2.2 数学模型 2.3 求解 2.4 解答 题目3&#xff1a;货船装载问题 题目 3.1问题重述 3.2 数学模型 3.3 求解 3.4 解…

MATLAB-Simulink模型加密

1、封装子系统 假如已经是子系统&#xff0c;需要确认子系统是否为虚拟子系统如果是虚拟子系统需要将虚拟子系统设置为非虚拟子系统也就是原子子系统。 右击子系统模块&#xff0c;选择Block Parameter->勾选Treat as atomic unit 设置仿真步长 2、将设置好的子系统转换为…

【Outlook】从Outlook新版回归经典版全攻略

引言 在微软宣布计划于2024年底淘汰邮件应用&#xff08;Mail app&#xff09;之后&#xff0c;许多用户发现新版Outlook应用&#xff08;Outlook (new)&#xff09;在他们的Windows 11/10系统上自动启动。如果您更倾向于使用经典版Outlook&#xff08;Outlook (classic)&…

实验丰富、原创改进!|多策略改进蜣螂优化算法(MATLAB)

本文内容来源于本人公众号&#xff1a;KAU的云实验台&#xff0c;更新内容&#xff1a;智能优化算法及其改进应用。 本文核心内容&#xff1a; 新颖的多策略改进蜣螂优化算法 对比算法包括&#xff1a;高引用/新发布/经典/其他DBO变体&#xff08;共11种&#xff09; 实验设计…

Go语言中GC(垃圾回收回收机制)三色标记与混合写屏障

5、Golang三色标记混合写屏障GC模式全分析 (yuque.com) 第1讲-课程目标_哔哩哔哩_bilibili Golang三色标记GC混合写屏障 Go V1.3之前的标记清除&#xff08;mark and sweep) 垃圾回收、内存管理、自动适放、三色标记法、STW (stop the world) 图的遍历&#xff1f;可达性分…

ArgMed-Agents:通过多个智能体论证方案增强大模型,进行可解释的临床决策推理

ArgMed-Agents&#xff1a;通过多个智能体论证方案增强大模型&#xff0c;进行可解释的临床决策推理 提出背景ArgMed-Agents 框架目的解法拆解逻辑链 临床讨论的论证方案&#xff08;ASCD&#xff09;论证方案用于决策&#xff08;ASDM&#xff09;论证方案用于副作用&#xff…

python课设——宾馆管理系统

python课设——宾馆管理系统 数据库课设-宾馆管理系统-python3.7pyqt5 简介 大二数据库课程设计&#xff08;3-4天工作量&#xff09;的项目&#xff0c;登录界面的ui设计参考了他人成果&#xff0c;其余ui以及所有后端部分全部独立完成&#xff0c;详细功能见功能模块图使用…

【ffmpeg命令】制作一个属于你自己的动图表情包

文章目录 前言如何制作一个动态表情包制作动图表情包转换分辨率减少帧率截取主要内容转换为gif动图去除水印 最终结果总结 前言 在数字时代&#xff0c;动图表情包已经成为我们日常交流的重要组成部分。它们富有表现力&#xff0c;能够传达出我们无法用语言表述的情感和信息。…

LangChain-v0.2 Build an Agent 构建代理

语言模型本身不能采取行动&#xff0c;它们只是输出文本。LangChain的一个重要用例是创建代理。代理是使用LLM作为推理引擎来确定要采取哪些行动&#xff0c;以及传递哪些输入的系统。执行操作后&#xff0c;可以将结果反馈到LLM中&#xff0c;以确定是否需要更多操作&#xff…

博客前端项目学习day01

这里写自定义目录标题 登录创建项目配置环境变量&#xff0c;方便使用登录页面验证码登陆表单 在VScode上写前端&#xff0c;采用vue3。 登录 创建项目 检查node版本 node -v 创建一个新的项目 npm init vitelatest blog-front-admin 中间会弹出询问是否要安装包&#xff0c…

docker容器重启错误解决方案

目录 起因解决方案重启 起因 是这样的&#xff0c;今天客户服务器的服务器突然断电了&#xff0c;原本是配置了自启动的项目&#xff0c;在重启之后发现还是无法登录&#xff0c;然后又看了一眼工控机&#xff0c;欸&#xff0c;这边居然可以&#xff0c;那么问题就直接排除了…

大样本 OLS 模型及 Stata 具体操作步骤

目录 一、引言 二、理论原理 三、小样本 OLS 和大样本 OLS 的区别 四、数据准备 五、程序代码及解释 六、代码运行结果 一、引言 在统计学和计量经济学中&#xff0c;普通最小二乘法&#xff08;Ordinary Least Squares&#xff0c;OLS&#xff09;是一种广泛应用的线性回…

QT-RTSP相机监控视频流

QT-RTSP相机监控视频流 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include "mainwindow.h"#include <QDebug>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_settings("outSmart", "LiveWatcher&…

为什么品牌需要做 IP 形象?

品牌做IP形象的原因有多方面&#xff0c;这些原因共同构成了IP形象在品牌建设中的重要性和价值&#xff0c;主要原因有以下几个方面&#xff1a; 增强品牌识别度与记忆点&#xff1a; IP形象作为品牌的视觉符号&#xff0c;具有独特性和辨识性&#xff0c;能够在消费者心中留…