按照惯例,老周是先吹牛后讲正事。今天就给大伙吹吹这个事。

有网友不知道是不是昨晚喝高了,居然研究起老周来了。实话告诉你,老周没什么好研究的,老周又不是编译器,老周只是一个游离于大善大恶之间的平凡人,说来也只不过是:

无故寻愁觅恨,有时似傻如狂。纵然生得好皮囊,腹内原来草莽。潦倒不通世务,愚顽怕读文章。行为偏僻性乖张,那管世人诽谤!

老周上不行圣人之道,下不通小人之事,渺渺乎,悠悠于人世间的一颗微尘罢了。所以,不要研究老周了。

网友感兴趣,老周你是怎么学到编程了的,而且还完全自学的。

唉,要说起这个,实话告诉你,当初老周拼命写代码是无目的、无功名、无条件,就是好奇,然后是喜欢。孔爷爷说得真TMD好,“知之者不如好之者,好之者不如乐之者”,说来也是,你不喜欢的东西,最好别学了,最后是学不好的。因此,你要是选择要学习了,那就收收心吧,对于这个,老周没什么特别好的建议,还是那句话:收收心吧。

==========================================================

好,闲话扯完了,下面扯正经事。VS 2015有一个功能,让我相当喜欢,就是在“视图” - “其他窗口”菜单下面有个叫“C# 交互”的窗口,简直是大爱这个窗口。

为啥?以前嘛,如果要写一些小测试的代码,非得要新建一个项目,然后再写代码做测试。对于一些小小的内容还要建个项目,真是不好。不过,现在VS 2015有了这个交互功能,要测代码方便很多,你可以在这个窗口中:

1、直接输入C#代码;

2、有智能提示;

3、实时编译,计算表达式结果。

是不是觉得很玄乎?非也,至少没那些扯蛋的玄幻小说那个玄,但绝对是个好功能。

这个窗口需要VS 2015 update 1,注意,它和VS的N年前的命令行窗口不同,现在这个交互窗口用的是新的编译器。

屁话少说,来来来,老周教你玩玩,很爽的。

打开VS 2015,在右上角的快速启动输入框中输入“C# 交互”,然后会找到[视图]菜单下面的这个命令,直接点击即可。

然后你会看到这个窗口:

和命令提示窗口差不多,假如,我现在想知道int类型的最大值是多少,你直接输入:

int.MaxValue

然后按下回车,你会看到实时执行的结果。

再比如,Environment类有个静态属性ProcessorCount,可以得到计算机上CPU数量,包含核数和线程数。输入:

Environment.ProcessorCount

然后按下回车,看

双核四线程,返回4。

-----------------------------------------------------------------------

没玩够的话,咱们继续,在使用加密API的时候,尤其是双向加密时,通常想知道key和IV的位数。比如,AES算法,我想知道它的Key和IV分别是多少位。来,动手。

首先,引入命名空间,每输完一句就回车。

using System.Security.Cryptography;

new一个AesCryptoServiceProvider实例:

AesCryptoServiceProvider prd = new AesCryptoServiceProvider();

输入以下表达式,就可以得到key的位数了。

prd.KeySize

最后,看整体效果。

如何,刺激不。

------------------------------------------------------------------------------------------------------

再举个例子,假如我要用System.Xml.Linq下面的XDocument类来创建一个XML文档,而这个窗口默认只引用System、mscorelib和system.core,并没有引用System.Xml.Linq程序集,那怎么做呢?

不用怕,这个窗口还支持动态引用程序集,输入:

#r "System.Xml.Linq"

以#r开头,然后空格,接着是字符表达式,内容为程序集的名字。而且,你在输入时还有智能提示。

随后,你就可以using了。

using System.Xml.Linq;

下面来建一个XML文档。

XDocument doc = new XDocument(new XElement("root", new XElement("book", "《南游记》")));

回车后,代码会执行。

然后看看新建的XML文档中有啥。直接输入变量名doc,然后回车,会自动调用其ToString方法。

doc

最后,结果如下。

如果要清除窗口的内容,请直接输入:

#cls

然后回车。

这个交互窗口够强大吧。

好,今天的表演结束,谢谢观看。

VS 2015相当不错的功能:C#交互窗口的更多相关文章

  1. APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点)

    APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近涉足APP端测试,常见检查点总结如下:   一.业务方面: 1.  注册( ...

  2. 多功能前台交互效果插件superSlide

    平时我们常用的"焦点图/幻灯片""Tab标签切换""图片滚动""无缝滚动"等效果要加载n个插件,又害怕代码冲突又怕不兼容 ...

  3. 百度地图API 批量添加 带检索功能的信息窗口

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 百度API的经历,怎样为多个点添加带检索功能的信息窗口

    不管我们要做什么样的效果,APIKey(密钥)都是不可缺少的要件,所以我们需要先去百度申请我们的APIKey!!! 伸手党,请直接到页面底部获取完整代码! 最近做一个门店查询的内容展示,考虑到用户直观 ...

  5. 发现 OpenStack: 架构、功能和交互

    原文:http://www.ibm.com/developerworks/cn/cloud/library/cl-openstack-overview/index.html OpenStack 是由 ...

  6. web测试点总结---UI、兼容、功能、交互、安全、性能、接口测试

    一.概述 1.什么是web? web的本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思.现广泛译作网络.互联网等技术领域.表现为三种形式,即超文本(hypertext).超媒体(hypermed ...

  7. Visual Studio 2015 Bowser Link的功能不停的向服务端发送请求

    Visual Studio 2015新建的mvc项目 默认在每个视图上生成一些JavaScript脚本

  8. 第1节 IMPALA:8、shell交互窗口使用;9、外部和内部shell参数

    impala当中的元数据的同步的问题impala当中创建的数据库表,直接就可以看得到,不用刷新hive当中创建的数据库表,需要刷新元数据才能够看得到 因为impala的catalog的服务,我们需要通 ...

  9. SSRS中加入书签功能及数据集窗口

    SSRS在使用过程中,是比较好用的,但如果报表过长,则会比较难看到想看的内容,在SSRS中有书签功能,可以将报表直接直接跳转至书签位置,这样用户可以比较精准的定位到关注位置.使用一个文本框或是图片,再 ...

随机推荐

  1. NodeJs之child_process

    一.child_process child_process是NodeJs的重要模块.帮助我们创建多进程任务,更好的利用了计算机的多核性能. 当然也支持线程间的通信. 二.child_process的几 ...

  2. TODO:Laravel 内置简单登录

    TODO:Laravel 内置简单登录 1. 激活Laravel的Auth系统Laravel 利用 PHP 的新特性 trait 内置了非常完善好用的简单用户登录注册功能,适合一些不需要复杂用户权限管 ...

  3. Appium移动自动化框架

    引言:Appium 是一个移动端自动化测试开源工具,可以针对不同的平台用一套API来编写测试用例.本文对Appium自动化测试框架的功能进行了概括. 本文选自<软件自动化测试开发>. Ap ...

  4. 【.net 深呼吸】程序集的热更新

    当一个程序集被加载使用的时候,出于数据的完整性和安全性考虑,程序集文件(在99.9998%的情况下是.dll文件)会被锁定,如果此时你想更新程序集(实际上是替换dll文件),是不可以操作的,这时你得把 ...

  5. python与c互相调用

    虽然python开发效率很高,但作为脚本语言,其性能不高,所以为了兼顾开发效率和性能,通常把性能要求高的模块用c或c++来实现或者在c或c++中运行python脚本来处理逻辑,前者通常是python中 ...

  6. 对Thoughtworks的有趣笔试题实践

    记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...

  7. 设置line-height:1.5和line-height:150%或者line-height:150px的区别

    直接正题: 看一下line-height可能的值: 其实可以分为两类: (1)不带单位的(如line-height:1.5),这种是推荐使用的: (2)带单位的(如line-heigth:30px/1 ...

  8. node中子进程同步输出

    管道 通过"child_process"模块fork出来的子进程都是返回一个ChildProcess对象实例,ChildProcess类比较特殊无法手动创建该对象实例,只能使用fo ...

  9. 【Reading Note】算法读书杂记

    1 排序 排序基本信息 稳定性:排序前大的数在排序后,大的数依然保持不变就是稳定排序,反之不稳定 内外排序:根据待排序的记录是否放在内存里面区分的.诸如:插入排序(直接插入&希尔).交换排序( ...

  10. ASP.NET Core 中文文档 第四章 MVC(4.1)Controllers, Actions 和 Action Results

    原文:Controllers, Actions, and Action Results 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:许登洋(Seay) Action 和 acti ...