一、构成C#语言的基本元素
关键字(Keyword ) ;操作符(Operator)
标识符(ldentifier);标点符号
文本;注释与空白
二、语法
1.下面的数字后面加F表示单精度,D表示双精度浮点数,L是长整型
2.var类型会根据复制自动判定所属类型。利用x.GetType().Nnme或者Typeof()可以判断其类型
3.今天的日子(几号)
4.数据类型
三、语句
1.goto:执行后到达指定地方:
用法:goto 名;
2.try语句
try语句提供一种机制,用于捕在块的执行期间发生的各种异常。此外,try 语句还能让您指定一个代码块,并保证当控制离开 try 语句时,总是先执行该代码。
Parse()将字符串转换为数字
3.Dictionary字典类型有两个参数,一个是String类型代表具体东西,一个是int代表数字
添加索引器(indexer)后,可以像访问数组一样使用[]来访问类的实例。
当你在Main方法中写var mathSorce = st["Math"];时,编译器会自动调用Student类的索引器来获取"Math"这个科目的分数。这个过程是透明的,不需要你显式调用一个方法或函数。
如果添加多个索引器则利用重载原理进行匹配。根据参数选择。
表示只读:只能在构造器里面赋值
四、参数
1.引用参数
注:传递之前必须有初始值;
在静态方法中调用非静态方法时,你需要先创建类的实例
2.输出参数
实例:
下面输入后,TryParse会把arg1的值输出给x,此时x就跟arg的值一样。如果成功就会返回对应的bool值。
3.数组参数
Params:params 关键字允许你将一个不定数量的参数作为一个数组传递给方法。不能直接访问这个由编译器生成的数组。只能实现方法里面定义的内容
传统的:
改进后:
4.扩展方法(this参数)
Math.Round()传两个参数,第一个是double类型的,第二个是int型,告诉他保留几位小数。(会四舍五入)
例子:输入一个参数,因为x就是第一个参数。
场景:无法对源码进行修改,用扩展方法
规则:
五、委托
1.定义
2.Action实例(不可以有返回值)
2.Func<>实例(可以有返回值,具体看写出来后的提示)
4.自定义声明
额外:
1.目的是为了暂停程序,只有按了回车键才继续。
六、事件
1.Interval每过一秒钟触发Elapased的事件(其实就是Interval控制这个事件发生的时间)响应一次
+=是订阅符号
事件处理器
六、EF Core 支持数据库迁移
1.Add-Migration:
这个命令用于创建一个新的迁移文件,该文件记录了从上一个数据库模式到当前代码中定义的数据库模式的变更。
当你修改了EF Core模型(例如,添加、删除或修改实体或属性)后,你可以运行 Add-Migration InitialCreate 来创建一个迁移。这里的 InitialCreate 是迁移的名称,你可以根据需要自定义这个名称。
这个命令会生成一个包含所有变更的C#类文件,这个类文件包含了迁移的上下文和用于更新数据库的代码。
2.Update-Database:
这个命令用于将数据库更新到与代码中的模型同步的状态。
运行 Update-Database 会应用所有未应用的迁移到数据库。如果数据库是全新的,它将应用所有迁移,包括初始迁移,从而创建整个数据库模式。
如果数据库已经存在,并且有部分迁移未应用,Update-Database 将只应用那些未应用的迁移。
3.使用迁移的好处包括
版本控制:迁移文件可以被提交到版本控制系统中,允许团队成员在不同的开发环境中保持数据库模式的一致性。
自动化:自动化数据库模式的更新,减少了手动更改数据库模式的需要,降低了出错的可能性。
回滚:可以轻松地回滚到之前的数据库模式,只需使用 Update-Database 命令并指定要回滚到的迁移名称。
4.注意
使用迁移功能时,应该谨慎处理生产环境中的数据库更新,以避免数据丢失或不一致。在生产环境中应用迁移之前,应该进行充分的测试。
七、ViewBag
1.它允许开发者在控制器和视图之间传递数据。
2. ViewBag.Message = "未找到对应的赛事ID。";
ViewBag 是ASP.NET MVC框架中的一个动态属性容器;ViewBag.Message一个整体属性(不需要事先声明,可以在任何时候添加或修改属性。),
存储:未找到对应的赛事ID。可以在视图中进行使用这个。
方法:
@ViewBag.Message
便会显示如下图:
注:如下图,一旦定义键名便是唯一了。但是ViewBag可以定义多个键名,而且随时使用。
八、ViewData
1.ViewData是一个用于在控制器和视图之间传递数据的字典对象。ViewData字典允许你存储键值对,其中键是一个字符串,而值可以是任何类型的对象。
2.已将将title和Movie List成为一个键值对。
3.视图中使用:
对应:
九、Mode
1.@model指令在Razor视图文件中用来指定视图所期望的数据模型类型。这个指令位于Razor视图文件的顶部,通常在布局文件或视图文件的开始部分。它的作用是将视图与特定的数据模型关联起来,使得视图中可以使用这个模型的属性和方法。
2.例子:@model GuanDan_Master.Models.PersonnelDB
说明:这行代码指定了视图的模型类型(数据库数据类型)为GuanDan_Master.Models.PersonnelDB。这意味着控制器在渲染这个视图之前,应该将一个PersonnelDB类型的对象作为模型传递给视图。
使用:
#、小知识点
1.
2.Model.ScoringMode.ToString()在前端中调用使其初始化