12400人加入学习
(21人评价)
C#编程-第二季-面向对象-宇宙最简单2021最新版

制作完成于2021-10月20日 使用VS2019

价格 免费

private  访问权限最高,只能在本类中访问

proyected  访问权限中等,可以在子类中访问

public  访问权限最高、

this.  ---指定当前对象

[展开全文]

在类名后面加上冒号 :加上继承父类的类名

[展开全文]

栈空间比较小,但是读取速度快  ->商店
堆空间比较大,但是读取速度慢  ->仓库
 

栈的特征:
数据只能从栈的顶端插入和删除|
把数据放入栈顶称为入栈(push)
从栈顶删除数据称为出栈(pop)
-后进先出( Last In First Out )



堆是一块内存区域,与栈不同,堆里的内存能够以任意顺序存入和移除
 

GC Garbage Collector垃圾回收器
CL R的GC就是内存管理机制,我们写程序不需要关心内存的使用,因为这些都是CLR帮
我们做了。
 

[展开全文]

自动化创建

当你系统里没有创建一个属性

但定义了一个属性的简写方法,则系统会自动创建一个成员变量

(用于只读或只写)

 public int Id
        {
            get;set;
        }

//当没有的成员的定义去访问,则要通过属性去访问成员

Console.WriteLine("id:" + Id);

 

匿名类型

(根据你后面赋值来决定的)

var agv=20;   ->整型

var name="小李"  ->字符串类型

 

 

 

[展开全文]

//定义一个学生类

class Studens
    {
        private string name;
        private int agv;
        private string sex;
        private int id;

        //定义一个name的get和set方法
        //一、
        public void setName(string name)
        {
            this.name = name;
        }
        public string getName()
        {
            return name;
        }

        //简写版
        public string Name
        {
            get
            {
                return name;
            }
            set   //value 参数
            {
                name = value;
            }
        }


        public void Show()
        {
            Console.WriteLine("name:"+name);
            Console.WriteLine("agv:" + agv);
            Console.WriteLine("sex:" + sex);
            Console.WriteLine("id:" + id);
        }
        public Studens()
        {
        }
        public Studens(string name, int agv, string sex, int id)
        {
            this.name = name;
            this.agv = agv;
            this.sex = sex;
            this.id = id;
        }
    }

 static void Main(string[] args)
        {
            //调用刚创建类的对象
            Studens stu = new Studens();
            //stu.Show();

            stu.setName("张三");
            Console.WriteLine(stu.getName());

            stu.Name = "李四";
            Console.WriteLine(stu.Name);

        }

 

[展开全文]
洛晓晓 · 2022-11-01 · 017-属性 0

 static void Main(string[] args)
        {
            Console.WriteLine("请输入两个数字,每行一个");
            //string number1 = "";
            //int n1 = Convert.ToInt32(Console.ReadLine());
            //string number2 = Console.ReadLine();

            //在外面定义一个全局变量
            int n1 = 0;
            int n2 = 0;

            //try
            //{
            //    //在try里调用全局变量,来进行传值
            //     n1 = Convert.ToInt32(Console.ReadLine());
            //     n2 = Convert.ToInt32(Console.ReadLine());
            //}catch (FormatException e)
            //{
            //    Console.WriteLine("你输入的数据,不符合规则,请重新输入!");
            //    n1 = Convert.ToInt32(Console.ReadLine());
            //    n2 = Convert.ToInt32(Console.ReadLine());
            //}
            //上述代码还有问题 后面的用户输入没有进行异常检测,所以下述进行了完善
            while (true)
            {
                try { 
                    n1 = Convert.ToInt32(Console.ReadLine());
                    n2 = Convert.ToInt32(Console.ReadLine());
                    break;
                }
                catch (FormatException e)
                {
                    Console.WriteLine("你输入的数据,不符合规则,请重新输入!");
                }
                
            }
            Console.WriteLine(n1 + n2);
        }

[展开全文]

try{

//捕抓异常

}catch(){

//处理异常

catch块用来捕捉异常,当代码发生异常,那么异常的类型和catch块中的类型一样的时候,就会执行该catch块,如果catch块的参数不写,表示发生任何异常都执行这个catch块
 

}

finally{

不管代码有没有异常,都会执行

}

 

[展开全文]

异常处理(捕捉异常) try ... catch ... finally语句
我们处理异常的语法结构如下(包含了三个关键字try catch finally)
 

[展开全文]

如何查看自己的代码中有多少个断点;

调试-->窗口-->断点

[展开全文]

Console.ReadLine();  获取用户所输入的值;

[展开全文]

正常模式下的调试∶
正常模式指的是不会影响程序的正常运行。
1,在VS中我们使用Console.Write(或者WriteLine)方法向控制台输出变量的值,通过这个我们可以查看变量的值是否符合我们的预期来调试错误。
2,在Unity中我们使用Debug.Log("") Debug.LogError("") Debug.LogWarn(""),向unity的console窗口输出信息,帮助我们调试错误。
 

[展开全文]

设置属性的只读或者只写 private string name; public string name{ get{ return name; } }

属性可以值只提供⼀个set块或者get块

2、属性的访问修饰符 public string name{ get{ return name; } private set{ name = value; } }

3、⾃动实现的属性 public int Age{get;set;} 编译器会⾃动创建private int age属性

[展开全文]

异常检测代码

try{

//可能出现异常的代码

}

catch(){

//需要捕捉的异常

}

 

[展开全文]

属性

private int age;

public int Age//这个可以随意命名

{

      get

   {

    }

     set

    {

     }

}

外部引用属性来赋值或取值该属性所在类对应的变量

[展开全文]
LSCqmu · 2023-05-06 · 017-属性 0

空对象不能去引用其他

new总是用来初始化的

[展开全文]

ToString默认情况下输出类的完整路径

 

[展开全文]

结构体声明对象不必new,除非想初始化

[展开全文]

继承接口,就算有方法没调用也要实现接口中所有的方法

 

Student stu1=new Student(18,"小芳");

Student stu2=new Student(25,"小刚");

stu2=stu1;\\当Student是struct结构体时,赋值值;是类Class时,赋值引用地址

 

当一个对象没人引用时就成了内存垃圾

 

字符串存储在静态存储区

[展开全文]

授课教师

问问题加入A计划,有专门负责答疑的老师哦!!!

课程特色

下载资料(1)
视频(60)