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();

        
        
        }
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无人机之图传距离的决定因素

一、发射功率&#xff1a;图传设备的发射功率越大&#xff0c;信号能够传播的距离就越远 二、工作频段&#xff1a;不同频段具有不同的传播特性&#xff0c;一些频段在相同条件下可能具有更远的传输距离。 三、天线性能&#xff1a;优质的天线可以增强信号的发送和接收能力&a…

php相关

php相关 ​ 借鉴了小迪安全以及各位大佬的博客&#xff0c;如果一切顺利&#xff0c;会不定期更新。 如果感觉不妥&#xff0c;可以私信删除。 默认有php基础。 文章目录 php相关1. php 缺陷函数1. 与2. MD53. intval()4. preg_match() 2. php特性1. php字符串解析特性2. 杂…

jdk22+maven环境配置教程+idea的maven环境配置(Windows系统)

前言 jdk是Java开发必要的编程环境&#xff0c;idea是常用的Java开发工具&#xff0c;这里着重解释一下maven。 maven就是我们经常看见的pom.xml文件&#xff0c;maven有以下三点功能&#xff1a; 1.项目构建&#xff08;可以帮助我们更快速的打包、构建项目&#xff09; 2.依…

<数据集>钢铁缺陷检测数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;1800张 标注数量(xml文件个数)&#xff1a;1800 标注数量(txt文件个数)&#xff1a;1800 标注类别数&#xff1a;6 标注类别名称&#xff1a;[crazing, patches, inclusion, pitted_surface, rolled-in_scale, scr…

Blender使用(二)点线面基本操作

Blender使用之点线面 1.编辑模式 tab键进行切换&#xff0c;为了方便菜单调出&#xff0c;可以设置键位映射为拖动时的饼菜单。 设置好后&#xff0c;按住tab键移动鼠标(注意不要点击鼠标)&#xff0c;即可弹出编辑菜单。 默认是点模式&#xff0c;在左上角可进行点线面的切换…

C++从入门到精通(第2版) 中文电子版

前言 C&#xff08;c plus plus&#xff09;是一种计算机高级程序设计语言&#xff0c;由C语言扩展升级而产生&#xff0c;最早于1979年由本贾尼斯特劳斯特卢普在AT&T贝尔工作室研发。C既可以进行C语言的过程化程序设计&#xff0c;又可以进行以抽象数据类型为特点的基于对…

[C++] 由浅入深理解面向对象思想的组成模块

文章目录 (一) 类的默认成员函数(二) 构造函数构造函数的特征构造函数示例无参构造带参构造 冲突:全缺省参数的构造函数与无参构造函数 &#xff08;三&#xff09;析构函数特性析构函数的析构过程解析 &#xff08;四&#xff09;拷贝构造函数什么是拷贝构造&#xff1f;特性为…

H2数据库启动时,设置非“全零监听”

全零监听 全零监听&#xff08;即将监听地址设置为全零地址&#xff0c;如IPv4中的0.0.0.0或IPv6中的::&#xff09;在网络服务配置中确实存在一定的安全风险。以下是全零监听可能带来的安全风险&#xff1a; 1. 暴露服务到不安全网络 全网段监听&#xff1a;将监听地址设置…

nuitka 打包python程序成windows exe可执行文件

参考&#xff1a; https://www.zhihu.com/question/281858271/answer/2466245521 https://www.zhihu.com/question/281858271 https://zhuanlan.zhihu.com/p/689115995 https://blog.csdn.net/Pan_peter/article/details/136411229 下载&#xff1a; pydantic-2.6.1 pydantic-…

【linux高级IO(三)】初识epoll

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; Linux高级IO 1. 前言2. 初识e…

微服务到底是个什么东东?

微服务架构是一种架构模式&#xff0c;它提倡将单一应用程序划分成一组小的服务&#xff0c;服务之间互相协调、互相配合&#xff0c;为用户提供最终价值。 每个服务运行在其独立的进程中&#xff0c;服务和服务间采用轻量级的通信机制互相沟通&#xff08;通常是基于 HTTP 的…

在设计电气系统时,电气工程师需要考虑哪些关键因素?

在设计电气系统时&#xff0c;电气工程师需要考虑多个关键因素&#xff0c;以确保系统的安全性、可靠性、效率和经济性。我收集归类了一份plc学习包&#xff0c;对于新手而言简直不要太棒&#xff0c;里面包括了新手各个时期的学习方向编程教学、问题视频讲解、毕设800套和语言…

浅析stm32启动文件

浅析stm32启动文件 文章目录 浅析stm32启动文件1.什么是启动文件&#xff1f;2.启动文件的命名规则3.stm32芯片的命名规则 1.什么是启动文件&#xff1f; 我们来看gpt给出的答案&#xff1a; STM32的启动文件是一个关键的汇编语言源文件&#xff0c;它负责在微控制器上电或复位…

SpringBoot使用开发环境的application.properties

在Spring Boot项目中&#xff0c;application.properties 或 application.yml 文件是用于配置应用程序外部属性的重要文件。这些文件允许定制你的应用&#xff0c;而无需更改代码。根据不同的运行环境&#xff0c;可以通过创建以application-{profile}.properties格式命名的文件…

高效运转!便携式果汁机必备霍尔板

文章目录 文章目录 前言 一、 直流电机原理 二、 通过霍尔传感器控制无刷直流电机 三、 霍尔在霍尔板上的位置 前言 今天给大家带来一款运用在果汁机上的霍尔板&#xff0c;饮料再好&#xff0c;终归是饮料&#xff0c;果汁再好喝&#xff0c;也不如自己亲自榨得健康。 生活水…

『大模型笔记』什么是 AI 智能体?

『大模型笔记』什么是 AI 智能体? 文章目录 一. 什么是 AI 智能体?从单一模型向复合 AI 系统的转变示例:查询假期天数复合 AI 系统的模块化设计检索增强生成(RAG)AI 智能体的作用大语言模型智能体的组成部分推理能力行动能力访问记忆的能力ReACT 方法示例:度假计划复合 A…

dom4j 操作 xml 之按照顺序插入标签

最近学了一下 dom4j 操作 xml 文件&#xff0c;特此记录一下。 public class Dom4jNullTagFiller {public static void main(String[] args) throws DocumentException {SAXReader reader new SAXReader();//加载 xml 文件Document document reader.read("C:\\Users\\24…

Python数据结构之实现自定义栈与队列详解

概要 在计算机科学中,栈(Stack)和队列(Queue)是两种常见的数据结构。它们在算法和数据处理方面有着广泛的应用。本文将详细介绍如何在Python中实现自定义的栈与队列,并包含详细的示例代码,帮助深入理解这两种数据结构的工作原理和使用方法。 栈(Stack) 什么是栈 栈…

科普文:Java8、9、10、11的新特性

概叙 详细8、9、10、11的新特性见官方的Whats New Home: Java Platform, Standard Edition (Java SE) 8 Release 8 Whats New in JDK 8 Oracle JDK 9 Documentation Java Platform, Standard Edition What’s New in Oracle JDK 9, Release 9 JDK 10 Documentation JDK …

美式键盘 QWERTY 布局的起源

注&#xff1a;机翻&#xff0c;未校对。 The QWERTY Keyboard Is Tech’s Biggest Unsolved Mystery QWERTY 键盘是科技界最大的未解之谜 It’s on your computer keyboard and your smartphone screen: QWERTY, the first six letters of the top row of the standard keybo…