- 博客(18)
- 收藏
- 关注
原创 年度语言之--c#中的多线程编程
类提供的方法,Interlocked采用cas的方式保证操作的原子性不同于lock锁,可以粗略的理解为java中Atomic类的等价操作,详细的区别我们会在后面进行讨论。可以防止编译器优化掉某些看似无用的代码,确保代码的执行顺序与编写顺序相符,当然这其实是有序性部分的内容,这里我们主要关注可见性方面volatile的作用。原子性指的是操作在多个步骤中不可被中断,确保了操作要么完全执行,要么完全不执行。调用之前的内存操作在之后的操作执行前完成,从而保持代码的执行顺序。
2024-01-22 15:11:05 744
原创 年度语言之--c#与java的多态
因此,在实际应用中,选择合适的绑定机制需要在性能和灵活性之间做出平衡。例如,在工厂模式中,可以根据不同的条件返回不同类的实例,但所有这些类都继承自同一个基类或接口。在Java中,可以使用接口或抽象类定义一个共有的接口,并在不同的类中提供这些接口的具体实现。尽管Java和C#在表面上提供了类似的多态实现方式,但在底层,它们处理多态性的机制有着本质的不同,特别是在静态绑定和动态绑定的处理上。Java和C#作为广泛使用的两中面向对象编程语言,多态这一特性都起到重要的作用,但它们实现这一概念的方式存在着一些差异。
2024-01-21 21:51:09 965 3
原创 年度语言之--c#基础语法(二)
我们将继续探讨Java 8与C# 10.0(.NET 6.0)在关键语言特性上的差异。在前一篇文章中,我们已经讨论了类型推断、属性与字段、扩展方法和Lambda表达式等方面。在本篇文章中,我们将继续探索更多的差异点:如何处理null值、方法参数的修饰符,以及方法重写的机制。
2024-01-18 22:48:38 870
原创 年度语言之--c#基础语法(一)
本文章将介绍Java 8和C# 10.0(对应.NET 6.0)在语言特性/语法方面的差异。如果你是具有经验的Java开发者,理解这些差异并不困难, 有针对性的学习两种语言之间的差异部分可以帮助我们更快的掌握c#.我们将集中讨论两种语言在类型推断、属性与字段、扩展方法、以及Lambda表达式等方面的对比。
2024-01-18 21:20:06 855 1
原创 年度语言之--c#中的linq
LINQ,或语言集成查询,是C#语言的一部分,它允许开发者以声明式的方式进行强类型的数据查询和操作。与Java中的Stream API类似,LINQ提供了一种优雅而强大的方法来处理各种数据源,无论是集合、XML还是数据库。它通过一系列的查询操作符,使得数据筛选、排序、转换等操作变得简单而直观。
2024-01-18 13:04:36 1017 1
原创 年度语言之--c#中的委托
在Java的世界开发中,我们习惯于使用接口(Interfaces)和匿名类(Anonymous Classes),特别是在处理事件监听器(Event Listeners)或实现回调(Callbacks)时。这对于代码的可读性和自文档化特别重要。委托在C#中扮演了一个类似于Java中接口和Lambda表达式的角色,但它们的工作方式和用法有所不同。C#中的事件是基于委托的,提供了一种在发生特定操作时触发和处理这些操作的机制。在C#中,委托是一种引用类型,它可以引用具有特定参数列表和返回类型的方法。
2024-01-17 14:52:39 784
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人