学习日记02-刘铁猛《C#语言入门详解》

前言

上一篇匆忙地结束了,有几点需要补充:

01链接:学习日记01-刘铁猛《C#语言入门详解》-CSDN博客

1.writeLine:将要输出的字符串与换行控制字符一起输出,当次语句执行完毕时候,光标会移到目前输出字符串的下一行。

2..NET WEB FORMS(OLD)是老版本,.NET MVC是新版本,新的原因在于加了MVCcontroller(个人理解)

 3.p4有一些没有补完:其实很重要,类(class)是现实世界物质的缩影(事物的模型);就是个模板,好比女娲对类吹口气,创造出的对象就是人,在这世上每个人都是不同的;人是概念,小明就是实例(感谢某些弹幕老哥)

4.对象实例本质上并没有什么区别,但是在不同的语境下会有细微的差别,经常混着用,也不用迷惑

5.引用变量和实例的关系很重要,贯穿代码生涯始终。引用变量和实例必须是同一类型,实例才能赋值给引用变量。引用变量和指针很像。p4的孩子牵气球案例:form1和form2的关系就相当于给一个小猫取了两个名字,两个指针指向了同一个内存地址。

6.用new操作符来创建类的实例:new+一个类名,为什么后面有括号:实例在内存当中诞生后,利用什么样的方法去初始化,叫做构造器。

7.C#是一门面向对象的编程语言, 源文件的扩展名通常是 .cs

8.上一篇中的helloworld,C#规范里是这么说的。

再捋一下P4

24-5-22进度:

打算第二天再过一遍前一天看的最后一集的内容。

P4-P5

P4:

上面补充已经有了一部分内容

1.类的三大成员:属性、方法、事件;事件为C#和.NET特有的,善用事件机制。

2.视频中后举了属性方法事件的三个例子,能跟的都跟了。到视频尾部时熟悉了一下WPF:Windows Presentation Foundation的首字母缩写 ,中文译为“Windows呈现基础”

(上)前端

(下)后端代码

using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;//多线程

namespace WpfApp1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()//mainwindow构造函数
        {
            InitializeComponent();//初始化窗体组件
            DispatcherTimer timer = new DispatcherTimer();//实例化timer(timer是引用变量)
            timer.Interval = TimeSpan.FromSeconds(1);//间隔1s触发一次timeSpan
            timer.Tick += Timer_Tick;
            timer.Start();
            ///<summary>
            ///上面四行大概流程捋一下就是:
            ///这个类如果想投入使用,实例化之后给属性值,挂接事件处理器,最后方法调用。
            ///一个类想work需要属性、方法、事件同时组合起来,重在事件。
            ///</summary>

            //在+=之后按两下tab,就会生成下面的代码(timer_tick)
            //+=这个操作符把下面的函数挂接到这个事件上
        }//当.tick发生的时候,下面的函数就会执行

        private void Timer_Tick(object? sender, EventArgs e)//tick开始之后这个方法就会执行
        {
            //throw new NotImplementedException();
            //用这个方法来响应tick这件事,所以它是事件处理器
            //这个案例类似委托,实现桌面时钟

            this.timeTextBox.Text = DateTime.Now.ToString();
        }

        private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
        {

        }
    }
}

我在打到timeTextBox的时候出现如下错误,也可能是自己看的不认真,回头解决一下这个问题。

3.静态成员和实例成员

静态(static)隶属于类(class),实例(非静态)成员:对象的成员。

在打示例的时候用到form出错的话添加一个引用,再添加一个using就好了

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ConsoleAppp4
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello");//命令行界面输出的
            //输入console的时候,dot(.)一下会自动出现writeline,说明writeline是隶属于console这个类的静态方法
            Form form = new Form();//访问实例的方法和属性
            form.Text = "hello";//新窗口的title
            form.ShowDialog();
        }
    }
}

P5:

1.构成C#的基本元素

节省时间,截图。图源课程视频

这节接触完基本上就可以接触算法了

标记token:对编译器有意义的记号,编译器会把注释和空白都省略掉

关键字keyword:构成一门编程语言的基本词汇

标识符identifier:就是给属性起的名字

命名的规范:属性:名词,方法:动词

有的地方和java很像。有一种 集百家之长另辟一派的感觉hhhh

2.VS2022版本快速对齐快捷键:ctrl+e+d;注释也不是越多越好,出现在该出现的地方。

3.类型,变量,方法

没有这个实例还要引用这个实例的方法会引起空指针异常,只有引用类型才能null。工作中用float其实挺少,都用double

4.方法:也就是函数

5.变量、方法(曾用名:函数、现称:算法)的声明和调用

int x;//数据类型+变量名=声明变量
x = 100;//变量的使用,通过赋值符号把值存在变量里

(上)变量的声明调用

(下)方法的声明调用(三种常见方法)

ps:这p的后面代码醍醐灌顶,跟着做熟练一定有收获。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ConsoleAppp5
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //回到program这个类里来调用Calculator这个类
            Calculator c = new Calculator();//声明一个叫c的引用变量,后面创建一个calculator的实例,用这个引用变量来引用这个实例
            //int x = c.Add(2, 3);//把方法的出来的值要一个变量接收
            //Console.WriteLine(x);
            //---------------------------
            //string str = c.GetToday();
            //Console.WriteLine(str);
            //---------------------------
            c.PrintSum(4, 6);
        }
    }
     class Calculator 
        //定义一个类,类中定义方法,方法是数据的加工厂,从外部也可以访问调用这个方法所以要加public
    {

        //A有数据的输入,有数据的输出
        public int Add(int a, int b) //此为函数头
        //数据的加工厂需要原料,在函数里定义变量,原料为两个整数,返回出的结果还得是整数
        {
            int result = a + b;
            return result;//返回去,从工厂拿到这个结果交还给调用数据加工厂的人
        }

        //B没有数据的输入,有数据的输出
        public string GetToday() {
            int day = DateTime.Now.Day;
            return day.ToString();
        }

        //C有数据输入,没有数据输出
        public void PrintSum(int a, int b)
        {//如果没有数据返回,就要加void
            int result = a + b;
            Console.WriteLine(result);
        }
    }
}

6.介绍算法(0:57:00)到这里需要明天看了

碎碎念

个人觉得C#和java有相似的地方,这套视频教程真的讲的很深,也很专业。慢慢啃,需要让自己明白,最快达到目的的方法是一步一个脚印。还是那句常看常新的老话。共勉。

03链接:学习日记03-刘铁猛《C#语言入门详解》-CSDN博客

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值