首页
学习
活动
专区
圈层
工具
发布

从C#到TypeScript - 类型

从C#到TypeScript - 类型 TypeScript和C#一样是微软搞出来的,而且都是大牛Anders Hejlsberg领导开发的,它们之间有很多共同点,现在尝试以C#程序员的角度来理解下TypeScript...现在来看下TypeScript基础类型: 数值 C#的数字类型有好几种:int, long, float, double, byte等,而TypeScript和JavaScript一样,所有的数字都是浮点数...,都是用number表示,这样也省了很了事,少了C#里类似long转int overflow问题。...功能上和C#差不多: 目的都是为数值提供一个友好的名字,增加代码可读性和可重构性 默认情况下从0开始编号 也可以手动赋值 可以实现类似C# Flag特性 但也有一些细节不一样: C#的枚举值toString...]; 也有类似C#的泛型List let list: Array = ['a', 'b', 'c']; 数组功能没C#配合linq那么强大,不过配合其他一些库如lodash也可以很方便的进行各种操作

2.2K61
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从C#到TypeScript - Reflect

    从C#到TypeScript - Reflect 在C#里如果想只通过名字来生成类实例、获取属性或执行方法可以使用反射,反射是基于元数据,现在很多流行语言都支持元数据,以此来提供更多便利的功能。...ES6和TypeScript也有Reflect,不过因为JavaScript本身是解释型语言,很多操作如根据名字字符串获取属性,根据字符串执行函数这些原本就有支持,Reflect只是把这些操作归结到一起...Set 定义如下: Reflect.get(target, name, receiver); Reflect.set(target, name, value, receiver); 看上去也很好理解,和C#...Reflect.preventExtensions(target) 让一个对象变为不可扩展 Reflect基本上就是把之前Object的方法和一些命令如delete in之类聚到一起,相信ES6之后用

    1.4K80

    从C#到TypeScript - Promise

    从C#到TypeScript - Promise 背景 相信之前用过JavaScript的朋友都碰到过异步回调地狱(callback hell),N多个回调的嵌套不仅让代码读起来十分困难,维护起来也很不方便...其实C#在Task出现之前也是有类似场景的,Async Programming Mode时代,用Action和Func做回调也很流行,不过也是意识到太多的回调嵌套代码可读性差且维护不易,微软引入了Task...这篇先来看看Promise: Promise的特点 Promise之于TypeScript,相当于Task之于C#,只有返回Promise的函数才能使用async await。...Promise不能在任务进行中取消,只能等结果返回,这点上不如C#的Task,Task可以通过CancelTaskToken来取消任务。...C#的Task有个WhenAll的静态方法来做这个事,Promise则是用all方法达到同样目的。 all方法接受实现Iterator接口的对象,比如数组。

    2K80

    从C#到TypeScript - 高级类型

    C# vs TypeScript - 高级类型 上一篇讲了基础类型,基本上用基础类型足够开发了,不过如果要更高效的开发,还是要看下高级类型,这篇和C#共同点并不多,只是延用这个主题。...联合类型 可以从字面上进行理解:其实就是多个类型联合在一起,用|符号隔开。 如: string | number, 表示希望这个类型既可以是string,又可以是number。...TypeScript和C#一样,只不是圆括号改成尖括号。...这点上比C#来得好,一般C#做法可能是用as操作符转过来,然后判断是否为空,如果类型多操作起来也很复杂。 类型别名 类型别名即可以为现有类型取一个新名字。...= System.Generic.List做个别名,不过还是不一样,C#的是可以实例化的。

    1.3K90

    C# Windows服务开发从入门到精通

    今天将给大家带来实际项目中经常运用的技术—C# 如何使用创建Windows服务进行应用程序开发。...如果你觉得阿笨的《C# Windows服务开发从入门到精通》分享课程只是仅仅带领大家学习"C#如何一步一步的创建Windows服务应用程序的话,那么你就大错特错了。...二、涉及覆盖的知识点 2.1、 C# Windows服务应用程序开发零基础上手入门实战演练。 2.2、通过第三方组件 (Topshelf)创建C# Windows服务应用程序。...四、源码在线解读和演示 4.1、 C# Windows服务应用程序开发零基础上手入门实战演练。 4.1.1、C#编写的Windows服务基本应用流程如下: 1)、如何编写windows服务程序。...4.2、通过第三方组件 (Topshelf)创建C# Windows服务应用程序。

    1.2K20

    C# RulesEngine 规则引擎:从入门到看懵

    目录 说明 安装 怎么使用 多参数 全局参数、本地参数 全局参数 本地参数 定义验证成功、失败行为 计算折扣 使用自定义函数 静态函数 实例函数 自定义执行器 说明 RulesEngine 是 C# 写的一个规则引擎类库...definition (基于 Json 的规则定义) Multiple input support (多输入支持) Dynamic object input support (动态对象输入支持) C#...当然定义变量存储到数据库也行,但是如果后面又新增了几个条件,那么我们就需要修改代码了,大佬说,这样不好,我们要 RulesEngine 。 好的,那我们来研究一下这个东西。...... ...}]" // JSON var workflows = JsonConvert.DeserializeObject>(rulesStr); C#...CheckAuthenticated", "Expression": "Authenticated == true" RuleName:规则名称; Expression: 真实的代码,必须是符合 C#

    3.3K30

    C# 从1到Core--委托与事件

    委托与事件在C#1.0的时候就有了,随着C#版本的不断更新,有些写法和功能也在不断改变。本文温故一下这些改变,以及在NET Core中关于事件的一点改变。 一、C#1.0 从委托开始 1....SendDelegate前面添加了一个event标识,虽然它被设置为public,但如下代码却会给出错误提示: 事件“HRWithEvent.sendDelegate”只能出现在 += 或 -= 的左边(从类型...控制绑定事件的执行   当多个委托被绑定到事件之后,如果想精确控制各个委托的运行怎么办,比如返回值(虽然经常为void)、异常处理等。...CancelRequested { get; set; } public SendMsgArgs(string msg) { this.Msg = msg; } } 三、随着C#...C#3.0 Lambda 表达式 从 C# 3 开始,lambda 表达式提供了一种更简洁和富有表现力的方式来创建匿名函数。

    70320

    C#高性能开发之类型系统:从C# 7.0 到C# 14的类型系统演进全景

    自C# 7.0以来,C#语言在类型系统方面引入了众多新数据类型、类型构造和语言特性,以提升性能、类型安全性和开发效率。...本文全面整理了从C# 7.0到C# 14.0(截至2025年4月,C# 14.0为预览版)类型系统的新增内容,包括值元组、Span、ReadOnlySpan、Memory、ReadOnlyMemory...版本概览 以下是C# 7.0至C# 14.0中类型系统新增或增强的主要内容: C# 版本 新增/增强内容 发布年份 描述 7.0 值元组(Value Tuples) 2017 轻量级数据结构,支持多值返回和解构...作为C# 13.0的预览特性,C# 14.0正式支持,详见field 关键字。...资深C#工程师可根据场景选择类型,如使用Span优化性能,记录建模数据。由于C# 14.0尚在预览阶段,建议关注dotnet/roslyn以获取最新更新。

    42000
    领券