Fork me on GitHub
批量删除代码前的行号

在网上复制代码时,烦人的是,每一行前面都有行号。

行数少的话,一个一个删也没多大问题,但是如果有上百行的话,咋办?

写个程序/脚本搞定吗?


其实,可以用Visual Studio自带的“Block Selection功能,可以轻松搞定!

按住Alt,用鼠标拖出一个矩形;

按一下Del,行号就不见了;

 

使用它的另外一个场景是,写完一个类后,发现每一行都少了public。

到适当的位置,按住Alt键,用鼠标拖一个矩形;

输入public,会自动在每一行,都输入public;

最后,按Ctrl+K+D调整一下缩进,就搞定了。

注意:var与dynamic这两个关键字,只是看起来很相似,仅此而已!
var表示“变量的类型是在编译时决定的”,但是dynamic表示“变量的类型是在运行时决定的”。因此,dynamicvar具有截然不同的含义。
var让你在初始化变量时少输入一些字,编译器会根据右值来推断出变量的类型。dynamic更厉害,它告诉编译器,根本就别理究竟是啥类型,运行时再推断不迟。
var只能用于局部变量的定义,你不能把类的属性定义成 var,也不能把方法的返回值类型或者是参数类型定义成vardynamic就没有这些局限了。
dynamic类型并没有跳过类型校验,只是延迟到了运行时。如果在运行时,检测到类型不兼容,照样会抛出异常。

 

你可能在以下情况下使用dynamic
    1.COM对象
    2.动态语言(如IronPython,IronRuby等)对象
    3.反射对象
    4.C# 4.0中动态创建的对象

问题:

    请把“0,1,2,3...9”的顺序打乱。

回答:

 

//C#
System.Random rnd = new System.Random();
IEnumerable
<int> numbers = Enumerable.Range(0, 10).OrderBy(r => rnd.Next());

//F#
let rnd = new System.Random()
[
0..9] |> List.sortBy (fun x -> rnd.Next())

 

思考:

    函数式编程思想很重要!

反馈:

    很希望听到大家的声音,欢迎讨论!

  • 不学习任何新技术, 不想提高自己的技能
  • 不关心工作质量, 不想提高工作质量
  • 朝9晚5消极地机械劳动, 对工作没有任何激情
  • 没有主见, 不加思考地接受别人的观点
  • 认为自己啥都知道, 坚持自己的恶习
  • 无法忍受批评, 但是喜欢批评别人
  • 以自我为中心, 听不进别人的话
  • posted on 2010-05-27 15:53  HackerVirus  阅读(561)  评论(0编辑  收藏  举报