比如:经常看到有人问"如何用c# ping 网址?"...,园子里搜索了一下:[c#下实现ping操作]这篇算是总结得比较全面了,但其实...如果愿意暂时从C#的世界中退出来环顾一下周围,方法更简单: 先添加对Microsoft.VisualBasic的引用,...; } 再比如:如何用c#做汉字的简繁转换? using Microsoft.VisualBasic; ......} } } 上面的代码将搜索c:\temp以所有子目录中包含"abc"的文件(不区分大小写) 文中列出的几个小应用只能算是抛砖引玉,如果大家发现VB.Net
从C#到TypeScript - Proxy 我们知道在C#中要实现代理功能需要自己来实现代理类,并且每个类需要不同的代理类,使用起来不方便,虽然借助一些AOP框架可以一定程度实现拦截,但毕竟框架级别的还是太重了
从C#到TypeScript - 类型 TypeScript和C#一样是微软搞出来的,而且都是大牛Anders Hejlsberg领导开发的,它们之间有很多共同点,现在尝试以C#程序员的角度来理解下TypeScript...现在来看下TypeScript基础类型: 数值 C#的数字类型有好几种:int, long, float, double, byte等,而TypeScript和JavaScript一样,所有的数字都是浮点数...,都是用number表示,这样也省了很了事,少了C#里类似long转int overflow问题。...10进制 let num = 0xa4; // 16进制 let num = 0b10010; // 2进制 let num = 0o24; // 8进制 布尔 boolean,和C#...功能上和C#差不多: 目的都是为数值提供一个友好的名字,增加代码可读性和可重构性 默认情况下从0开始编号 也可以手动赋值 可以实现类似C# Flag特性 但也有一些细节不一样: C#的枚举值toString
从C#到TypeScript - 接口 为了更好的抽象出行为和属性,TypeScript在ES6的基础上增加了接口interface。...C#也有interface,不过TypeScript的接口还不大一样,C#里的接口一般是为类服务,让类实现接口中定义的方法或属性。...TypeScript在C#基础上更进一步,由于JavaScript是门非常灵活的语言,TypeScript作为JavaScript的超集需要保持灵活性,所以接口在TypeScript里可以脱离具体的类,...类的接口 这和C#的差不多,描述了公共的成员;不过实现接口语法有点类似于Java,用的是implements。...从实现上看有点类似于C#的delegate。
从C#到TypeScript - Promise 背景 相信之前用过JavaScript的朋友都碰到过异步回调地狱(callback hell),N多个回调的嵌套不仅让代码读起来十分困难,维护起来也很不方便...其实C#在Task出现之前也是有类似场景的,Async Programming Mode时代,用Action和Func做回调也很流行,不过也是意识到太多的回调嵌套代码可读性差且维护不易,微软引入了Task...Promise不能在任务进行中取消,只能等结果返回,这点上不如C#的Task,Task可以通过CancelTaskToken来取消任务。...success'); throw new Error('error'); }).catch(function(error) { console.info(error); // 不会执行到这里...console.info('done')); } catch (e){ console.info(e); // 由于最后面的done,所以会把finally里的异常抛出来,如果没有done则不会执行到这里
从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之后用
从C#到TypeScript - function 虽然TypeScript里有了类,但JavaScript的function也还在,这也是和C#的不同所在。...C#里函数不能脱离类工作,但TypeScript的function和JavaScript一样,可以单独工作。...同C#里的函数参数可以有默认值一样,TypeScript也支持,并且还支持可空参数。...TypeScript同样可以通过剩余参数来支持,形式上类似于C#的param。 剩余参数的格式是...restParam: string[]。...泛型函数 同C#一样支持泛型函数,写法也差不多。
从C#到TypeScript - 类 在ES6之前Javascript的类都是用function定义的,ES6把类关键字正式加进来,虽说其实也还是function,不过代码可读性上好了不少。...TypeScript同样支持class,并且和C#也非常相似,下面来看看: 类 同C#一样,由构造函数,属性,方法组成,属性和方法有三个级别的访问权限:private, protected, public...,比C#少个internal。...不过不同的是C#类的成员默认是private,而TypeScript默认是public。 在类里面所有成员都必须用this来访问。...u.checkLogin()); // true u.name = 'test'; console.info(u.checkLogin()); // false 参数属性 上面的User类有两个成员,而且都是从构造函数赋值的
从C#到TypeScript - Generator 上篇讲了Promise,Promise的执行需要不停的调用then,虽然比callback要好些,但也显得累赘。...console.info(p.next()); console.info(p.next()); 先看下和普通函数的区别,function后面多了一个*,变成了function*,函数体用到了yield,这个大家比较熟悉,C#
从C#到TypeScript - 变量 TypeScript的变量声明和ES6差不多,相比之前主要是多了let和const 为什么不用var 不管是TypeScript还是ES6都会兼容以前的javascript...虽然C#里也有var,但和JavaScript的可不一样,var在javascript里会有一些奇怪的表现,比如会置前,而且作用域是整个函数,可以不写var来声明变量,然后变量变成全局。...这些都可能会带了一些不容易注意到的问题。...const C#也有const,意义上差不多,都是常量,不想变量被改变。
C# vs TypeScript - 高级类型 上一篇讲了基础类型,基本上用基础类型足够开发了,不过如果要更高效的开发,还是要看下高级类型,这篇和C#共同点并不多,只是延用这个主题。...联合类型 可以从字面上进行理解:其实就是多个类型联合在一起,用|符号隔开。 如: string | number, 表示希望这个类型既可以是string,又可以是number。...TypeScript和C#一样,只不是圆括号改成尖括号。...这点上比C#来得好,一般C#做法可能是用as操作符转过来,然后判断是否为空,如果类型多操作起来也很复杂。 类型别名 类型别名即可以为现有类型取一个新名字。...= System.Generic.List做个别名,不过还是不一样,C#的是可以实例化的。
从C#到TypeScript - async await 上两篇分别说了Promise和Generator,基础已经打好,现在可以开始讲async await了。...async await是ES7的议案,TypeScript在1.7版本开始支持async await编译到ES6,并在2.1版本支持编译到ES5和ES3,算是全面支持了。...async await 用法 和C#里的十分相似,看个例子: function delay(): Promise{ return new Promise((resolve...async function run(){ await Promise.reject('error'); // 这里出异常 console.info('continue'); // 不会执行到这里...this, void 0, void 0, function* () { yield delay(); console.info('run'); }); } 可以注意到其实还是用
从C#到TypeScript - 装饰器 在C#里面如果想要不直接修改类或方法,但给类或方法添加一些额外的信息或功能,可以想到用Attribute,这是一个十分方便的功能装饰器。...function Testable(target: Function) { // 类、方法、属性、方法参数的参数各不相同 //这里可以记录一些信息到target,或者针对target做一些处理,...即属性描述符,有 configurable 是否可以配置,如动态添加删除函数属性之类 writable 是否可写,可以用来设置只读属性 enumerable 是否可枚举,即是否能在for...in中能枚举到
vb.net中的事件 ''' ''' 申明代理 ''' ''' ''' <param name="e...Sub OnmyEvent()Sub OnmyEvent(ByVal sender As Object, ByVal e As EventArgs) Console.WriteLine("VB...New Release() Dim C As Receive = New Receive(R) R.DomyEvent() End Sub End Module C#...} void rl_myEvent(object sender, EventArgs e) { Console.WriteLine("C#
今天将给大家带来实际项目中经常运用的技术—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服务应用程序。
目录 说明 安装 怎么使用 多参数 全局参数、本地参数 全局参数 本地参数 定义验证成功、失败行为 计算折扣 使用自定义函数 静态函数 实例函数 自定义执行器 说明 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#
委托与事件在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 表达式提供了一种更简洁和富有表现力的方式来创建匿名函数。
emgucv实现的: ⑥第六个页面是FTP上传、下载、删除的实例,很古老的文件传输的协议,界面也就三个按钮: ⑦第七个页面是做了一个备忘录:包括了查询,筛选、删除、语音播报等功能,数据这块按理应该从数据库查询
C#编程-002.C#与VB.net区别 在 .NET Framework 环境当中,C# 和 VB.NET 是两种主要的开发语言。...这样我们可以说 VB.NET 和 C# 是功能性等价的。 C# 和 Visual Basic.NET 如同现代的其他高级语言如Java and C++一样,具有结构类似性。...C# 是大小写敏感的,而Visual Basic .NET 不区分大小写。...在VB.NET中, “Example” 和 “example” 是一样的 , 但是在 C#中 “Example” 和 “example” 是两个不同的变量名称。...同时好记忆的是在C# 中语句的结束符号是分号 (;)。 下面列举一些在 VB.NET 和 C#中不同的例子。
VB.net和C#各有什么优点和不同 VB.NET和C#都是.NET框架下的编程语言,它们有很多相似之处,但也有一些关键的区别。...VB.NET和C#的不同点: 语法差异:虽然VB.NET和C#在很多方面都很相似,但它们的语法还是有一些明显的差异。例如,VB.NET使用冒号(:)来声明变量,而C#使用var关键字。...类型推断:C#使用var关键字进行类型推断,而VB.NET没有这个功能。异常处理:VB.NET使用Err对象进行错误处理,而C#使用try-catch语句进行异常处理。...字符串连接:在VB.NET中,使用&进行字符串连接,而在C#中,使用+进行字符串连接。 总的来说,选择VB.NET还是C#主要取决于你的个人喜好、项目需求和开发环境。...学习记录 序号 =====文章列表====== 1 C#编程-001:C#简介 2 C#编程-002.C#与VB.net区别 3 C#编程-003.数据类型 4 C#编程-004循环语句for循环 5
领取专属 10元无门槛券
手把手带您无忧上云