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://www.mzph.cn/news/872768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据类型与运算符

一、进制 1.1 进制的区分 1.2进制的换算 只要掌握计算器的方式即可。人工计算的方式了解一下就行了。 二、计算机数据的存储原理 2.1 存储单位 最小的单位&#xff1a;比特位 bit 1位比特要么为0&#xff0c;要么为1 最基本的单位&#xff1a;字节 …

Spring-Cache 缓存

1.简介 2.SpringCache 整合 简化缓存开发 1.导入依赖 <!-- spring cache --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency>2.redis 作为缓存…

二分法binary search

欢迎来到一夜看尽长安花 博客&#xff0c;您的点赞和收藏是我持续发文的动力 对于文章中出现的任何错误请大家批评指出&#xff0c;一定及时修改。有任何想要讨论的问题可联系我&#xff1a;3329759426qq.com 。发布文章的风格因专栏而异&#xff0c;均自成体系&#xff0c;不足…

解决一下git clone失败的问题

1&#xff09;.不开梯子&#xff0c;我们用https克隆 git clone https://github.com 报错&#xff1a; Failed to connect to github.com port 443 after 2091 ms: Couldnt connect to server 解决办法&#xff1a; 开梯子&#xff0c;然后# 注意修改成自己的IP和端口号 gi…

docker搭建普罗米修斯监控gpu

ip8的服务器监控ip110和ip111的服务器 被监控的服务器110和111只需要安装node-export和nvidia-container-toolkit 下载镜像包 docker pull prom/node-exporter docker pull prom/prometheus docker pull grafana/grafana新建目录 mkdir /opt/prometheus cd /opt/prometheus/…

生信软件27 - 基于python的基因注释数据查询/检索库mygene

1. mygene库简介 MyGene.info提供简单易用的REST Web服务来查询/检索基因注释数据&#xff0c;具有以下特点&#xff1a; mygene技术文档&#xff1a; https://docs.mygene.info/en/latest/ 多物种支持: 包括人、小鼠、大鼠、斑马鱼等多个模式生物&#xff1b; 多数据源聚合…

卷积神经网络图像识别车辆类型

卷积神经网络图像识别车辆类型 1、图像 自行车: 汽车: 摩托车: 2、数据集目录 3、流程 1、获取数据,把图像转成矩阵,并随机划分训练集、测试集 2、把标签转为数值,将标签向量转换为二值矩阵 3、图像数据归一化,0-1之间的值 4、构造卷积神经网络 5、设置图像输入…

记录些MySQL题集(8)

ACID原则、事务隔离级别及事务机制原理 一、事务的ACID原则 什么是事务呢&#xff1f;事务通常是由一个或一组SQL组成的&#xff0c;组成一个事务的SQL一般都是一个业务操作&#xff0c;例如聊到的下单&#xff1a;「扣库存数量、增加订单详情记录、插入物流信息」&#xff0…

Qt5.12.2安装教程

文章目录 文章介绍下载连接安装教程 文章介绍 安装Qt5.12.2 下载连接 点击官网下载 安装包下载完毕 安装教程 点开设置&#xff0c;添加临时储存库&#xff0c;复制连接“https://download.qt.io/online/qtsdkrepository/windows_x86/root/qt/” 点击测试&#xff0…

set类和map类介绍和简单使用

目录 set类介绍与简单使用 set类 multiset类 map类介绍与简单使用 map类 multimap类 set类介绍与简单使用 set类是一种关联式容器&#xff0c;在数据检索时比序列式容器效率更高。本质是一个常规的二叉搜索树&#xff0c;但是为了防止出现单支树导致效率下降进行了相关优…

【Linux】将IDEA项目部署到云服务器上,让其成为后台进程(保姆级教学,满满的干货~~)

目录 部署项目到云服务器什么是部署一、 创建MySQL数据库二、 修改idea配置项三、 数据打包四、 部署云服务器五、开放端口号六 、 验证程序 部署项目到云服务器 什么是部署 ⼯作中涉及到的"环境" 开发环境:开发⼈员写代码⽤的机器.测试环境:测试⼈员测试程序使⽤…

SQL面试题-留存率计算

表定义&#xff1a; create table if not exists liuliang_detail (user_id string comment ,record_time string comment yyyymmdd hh:mi:ss ) comment 流量明细表 ; 方法一&#xff1a; 计算的是整段时间范围内&#xff0c;每一天为基准的所有的留存1、2、7天的用户数。 …

WEB前端05-JavaScrip基本对象

JavaScript对象 1.Function对象 函数的创建 //方法一&#xff1a;自定义函数 function 函数名([参数]) {函数体[return 表达式] }//方法二&#xff1a;匿名函数 (function([参数]) {函数体[return 表达式] }); **使用场景一&#xff1a;定义后直接调用使用(只使用一次) (fun…

成为git砖家(1): author 和 committer 的区别

大家好&#xff0c;我是白鱼。一直对 git author 和 committer 不太了解&#xff0c; 今天通过 cherry-pick 的例子搞清楚了区别。 原理 例如我克隆了著名开源项目 spdlog 的源码&#xff0c; 根据某个历史 commit A 创建了分支&#xff0c; 然后 cherry-pick 了这个 commit …

《系统架构设计师教程(第2版)》第11章-未来信息综合技术-06-云计算(Cloud Computing) 技术概述

文章目录 1. 相关概念2. 云计算的服务方式2.1 软件即服务 (SaaS)2.2 平台即服务 (PaaS)2.3 基础设施即服务 (IaaS)2.4 三种服务方式的分析2.4.1 在灵活性2.4.2 方便性方 3. 云计算的部署模式3.1 公有云3.2 社区云3.3 私有云3.4 混合云 4. 云计算的发展历程4.1 虚拟化技术4.2 分…

python课设——宾馆管理系统

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

防火墙NAT地址转换和智能选举综合实验

一、实验拓扑 目录 一、实验拓扑 二、实验要求&#xff08;接上一个实验要求后&#xff09; 三、实验步骤 3.1办公区设备可以通过电信链路和移动链路上网(多对多的NAT&#xff0c;并且需要保留一个公网IP不能用来转换) 3.2分公司设备可以通过总公司的移动链路和电信链路访…

简单爬虫案例

准备工作&#xff1a; 1. 安装好python3 最低为3.6以上&#xff0c; 并成功运行pyhthon3 程序 2. 了解python 多进程原理 3. 了解 python HTTP 请求库 requests 的基本使用 4. 了解正则表达式的用法和python 中 re 库的基本使用 爬取目标 目标网站&#xff1a; https://…

scrapy框架爬取豆瓣top250电影排行榜(下)

&#xff08;3&#xff09;在 pipeline.py 文件中对数据进行存储&#xff0c;此程序先写 入 txt 文件中&#xff0c;是为了判断该程序是否能正确爬取出数据。 此处使用了 json 库&#xff0c;使用 ensure_ascii False&#xff0c;能够确 保非 ASCII 字符&#xff08;如中文&am…

贪心算法(2024/7/16)

1合并区间 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&#xff1a;inter…