由于本人是做前端的 为了更快的学习和了解C# 并运用到工作中 于是使用了
JavaScript 和 TypeScript 开发者学习 C# 路线图 进行学习 !!!
C#、TypeScript 和 JavaScript 都属于 C 系列语言。 这些语言之间的相似之处可在你使用 C# 时帮助你快速提高工作效率
- 类似的语法:JavaScript、TypeScript 和 C# 均属于 C 系列语言。 这种相似性意味着你已经可以阅读并理解 C#。 虽然存在一些差异,但大部分语法与 JavaScript 和 C 相同。大括号和分号的用法类似。
if
、else
、switch
等控制语句相同。 循环语句for
、while
和do
...while
相同。 C# 和 TypeScript 中class
和interface
的关键字相同。 TypeScript 和 C# 中的访问修饰符(包括public
和private
)相同。 =>
标记:所有语言都支持轻型函数定义。 在 C# 中,它们被称为 lambda 表达式,在 JavaScript 中,它们通常被称为箭头函数。- 函数层次结构:这三种语言都支持局部函数,这些函数是其他函数中定义的函数。
- Async / Await:这三种语言使用相同的关键字(
async
和await
)来进行异步编程。 - 垃圾回收:这三种语言都依赖垃圾回收器进行自动内存管理。
- 事件模型:C# 的 event 语法类似于 JavaScript 的文档对象模型 (DOM) 事件模型。
- 包管理器:NuGet 是 C# 和 .NET 最常见的包管理器,类似于 JavaScript 应用程序的 npm。 系统会以程序集形式提供 C# 库。
针对于类似语法的示例
-
if 语句
C#、JavaScript 和 TypeScript:
if (condition) {
// do something
} else {
// do something else
}
-
for 循环
C#、JavaScript 和 TypeScript:
for (int i = 0; i < 10; i++) {
// do something
}
-
类和接口
C#:
public class MyClass {
private int myField;
public MyClass(int myField) {
this.myField = myField;
}
}
public interface MyInterface {
void MyMethod();
}
TypeScript:
public class MyClass {
private myField: number;
constructor(myField: number) {
this.myField = myField;
}
}
interface MyInterface {
myMethod(): void;
}
关于类和接口的解释
这段代码是 C# 语言的一个类定义和一个接口定义。
public class MyClass 定义了一个公开的类,名为 MyClass。
private int myField; 定义了一个私有的整数字段,名为 myField。int 是一个数据类型,表示整数。
public MyClass(int myField) 定义了一个公开的构造函数,它接受一个整数参数 myField。这个构造函数将参数 myField 的值赋给类的字段 myField。
public interface MyInterface 定义了一个公开的接口,名为 MyInterface。
void MyMethod(); 定义了一个没有返回值的方法,名为 MyMethod。void 是一个特殊的类型,表示没有任何返回值。
后面的关于 => 标记、函数层次结构、Async / Await、垃圾回收、事件模型、包管理器 会在后面的文章中分享。