惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
博客园 - 司徒正美
S
SegmentFault 最新的问题
Jina AI
Jina AI
美团技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
WordPress大学
WordPress大学
爱范儿
爱范儿
博客园 - Franky
量子位
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网

博客园 - 青弦

WinForm打印之页边距 [转载]交换的概念和原理 [转载]交换机概述 [转载]笑傲江湖之三层交换篇 [转载]Window.Open()网页弹出窗口大全 [转载]详解HTML中的META标签 [转载]网页滚动条特效 VS2005中TableAdapter中实现动态查询并使用LIKE的方法整理 [转载]如何在MDI中使子窗体只保留一个实例(反射方法) 去除MDI子窗体最大化后在MainMenuStrip上自动产生的最大化等按钮 第一次认真画用例图,错误很多,请大家来指点 DIV的水平、垂直居中的最佳实现 Excel数字、文本混合列导入SQL Server出现的问题&解决办法 SQL Server 2000导入数据时遇到的问题 不逐流俗,独辟蹊径——另类又好用的软件推荐[不断更新……] Winform中全屏显示问题 [资源]在线工具测试网页载入速度 博客园blog模板CSS自定义美化 达摩克利斯之刃——.NET破解技术初探
代码段,你用了吗?
青弦 · 2008-04-22 · via 博客园 - 青弦

声明:此文只献给新手,欢迎高人批评指正。

在VS2005中,提供了代码段(Snippet的功能。
什么是代码段呢?即使你对这个词还不是很熟悉,但是极有可能的是——你已经在不知不觉中应用它了。

举例:
当我们在写一个选择分支(if语句)或是循环分支(for语句)时,难道要完全手动敲完每一个字符吗?
当然不会这么笨,我们只要输入“if”然后再轻按两下Tab键,if语句的经典结构就跃然纸上了。
这时我们只要在绿色的方框中写上条件即可。

看到这,你一定会大声惊呼:这个我早就用过啊!
对,这就是代码段,不但支持if,还支持for,do,switch等多种C#常见语句。
插入代码段的方法有几种:

1.编辑区点击右键,选择“插入代码段”
2.快捷键Ctrl+K,X

同样,我们可以选定已写好的一些语句,然后插入“外侧代码段”,则选中的语句将被选中的代码段包围。
我们举例来说明:

string name = labName.Text;

Response.Write(name);

如上面所示,我们向页面输出name的内容。但是我们又考虑到,应该加一个name内容是否为空的判断。这时该怎么办?
写个if,然后用tab插入代码段,再拷贝、粘贴?
大可不必,我们先选中第二句,然后右键单击,选择“外侧代码”(或者使用快捷键Ctrl+K,S),选中"if",我们看到语句自动被放在了if语句结构当中。

if (true)
{
 Response.Write(name);            
}

怎么样,是不是很方便,尤其在代码复杂的时候更加明显。
具体到我个人,因为通常开始编写的时候更多关注主要业务逻辑,所以错误处理要到后期才考虑。
所以用的最多的是插入外侧代码“try”来后期添加“try-catch”块,感觉非常实用。

还不仅仅是这些,当我们在VS2005中打开“工具”,“代码段管理器”,选中“Visual C#”节点,我们会找到MS已经给我们定义好的全部代码段。
我敢说,很可能有你没用过的:)
举几个比较有用的:

ctor:构造函数

    public test()
    {

    }

prop:属性及其支持字段(get;set)

    private int myVar;

    public

 int MyProperty
    {
        get { return myVar; }
        
set { myVar = value; }
    }

* 改变myVar的变量名后,相关的值自动更新,贴心:)

propg:同上,但是

只有 get 访问器的属性及其支持字段的代码段

indexer:索引器

    public object this[int index]
    {
        
get { /* return the specified index here */ }
        
set { /* set the specified index to value here */ }
    }

还有不少,就不一一列举了。最重要的是prop这个快捷方式,原来C#也可以像VB.Net那样方便,再也不用为写类的大量属性而发愁了。
ps.前几天还无意中在一个老外的博客里看到其为方便书写类的属性而特意录制的宏,莫非他是不知道prop的?:)

在这个界面,还可以添加用户自定义的代码段,相关语法见MSDN,这里就不详细介绍了——因为我觉得系统提供的基本上足够用了。

结束语:VS中的每一个细节我们都要尽量去了解,这样才能做到事半功倍,快乐编程~~