自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Task

} } //Lock是Monitor语法糖,本质是解决资源的锁定问题 //我们锁住的资源一定是让线程可访问到的,所以不能是局部变量 //锁住的资源千万不要是值类型 //Lock也不能锁住string类型。Console.WriteLine($"Task1子线程Id={Thread.CurrentThread.ManagedThreadId} {DateTime.Now.ToLocalTime()}");

2024-04-09 22:16:43 274

原创 委托

Console.WriteLine("通过Lambda方法计算 20-30="+cal4(20,30));Console.WriteLine($"通过匿名方法20+30={cal1(20, 30)}");//course是一个特定对象的代表。//[3]将匿名方法用LambdaDemo表达式简化编写goes to。//4 将具体方法和委托变量关联。//[1]委托关联独立方法。//【2】委托关联匿名方法。a其实就是10的代表。//3 定义委托变量。//5 使用委托变量。//2 根据委托编辑具体方法。

2024-04-09 22:16:05 809

原创 泛型基础1

逆变和协变只能放在泛型接口和泛型委托参数前面,只发生在泛型中 out 协变(covariant ),用来修饰返回值 :小类型转大类型,隐式转换 in 逆变(contravariant),用来修饰传入参数: 大类型转小类型,强制转换 斜边判断 1.变量名称前必须是接口或委托 2.接口和委托必须是泛型的,且T前有关键字out 逆变判断 1.变量名称前必须是接口或委托 2.接口和委托必须是泛型的,且T前有关键字in。为什么C#要引入泛型?// 泛型在定义时,并没有指定具体的类型,即指定具体类型延迟到方法调用时。

2024-04-01 22:01:36 208

原创 文件操作类

Directory类是静态类。读取文件:ReadAllBytes(),ReadAllLines(),ReadAllText(),ReadLines()写入文件:WriteAllBytes(),WriteAllLines(),WriteAllText()追加文本:AppendText(),AppendAllLines(),AppendAllText()打开文件:Open(),OpenRead(),OpenText(),OpenWrite()创建文件:Create(),CreateText()

2024-03-21 22:26:33 228 1

原创 类的知识点

类型:private(私有的,仅供内部使用)、public(公有的,可以通过对象从外面使用)外部使用:属性一般是向外提供数据访问,属性是public修饰,用来对外表示对象的静态特征。常规化使用:对象本身的“对外”数据保存,都是通过属性完成的,调用者都可以使用。内容使用:字段主要是为类的类的内部交换使用的数据,字段一般都是private。注意:方法内部的变量,我们称为“局部变量”,没有访问修饰符的。作用:限制类的字段、属性、方法的可访问范围。作用:限制类的字段、属性、方法可访问范围。

2024-03-19 21:26:36 372

原创 c#变量和传递的知识点

在程序运行期间并不是一直存在,只是在函数调用期间存在,当函数运行结束,局部变量将被撤销。与全局变量的区别在于,如过程序中包含多个源文件,全局变量可用于所有源文件,但是静态全局变量只可用于定义它的文件中。在 C# 中,有三种向方法传递参数的方式:值类型,引用类型,输出类型;传值给方法,方法中的变量修改不影响参数列表,复制参数的实际值给函数的形式参数,实参和形参使用的是两个不同内存中的值。全局变量的作用域为全局,在程序中只需要在一个文件中定义,就可以在所有的源文件中使用。复制参数的内存位置的引用给形参。

2024-03-18 21:10:26 382

原创 Dynamic、Object和Var区别

var一旦编译,编译器就会自动匹配var变量的实际类型,并用实际类型来替换该变量的声明,等同于我们在编码时使用了实际类型声明。Object,上面提到dynamic类型再编译后是一个Object类型,同样是Object类型,那么两者的区别是什么呢?除了在编译时是否进行类型检查之外,另外一个重要的区别就是类型转化,这也是dynamic很有价值的地方,dynamic类型的实例和其他类型的实例间的转换是很简单的,开发人员能够很方便地在dyanmic和非dynamic行为间切换。

2024-03-15 13:15:00 675 1

原创 c#基础知识 第一天总结

第二个参数</param>/// <param name="content">第一个参数返回字符串结果

2024-03-14 19:24:49 356

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除