前言
上一篇匆忙地结束了,有几点需要补充:
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有相似的地方,这套视频教程真的讲的很深,也很专业。慢慢啃,需要让自己明白,最快达到目的的方法是一步一个脚印。还是那句常看常新的老话。共勉。