C#是一门伟大的编程语言,与C++和Java相比,它的语法更简单,相对来说更好入门,经历10年的发展,C#已经成为编程语言领域强有力的竞争者,每一年我们都能看到它的进步,每一个新版本都加入了许多新特性,总的来说,作为一门编程语言,它没有让C#开发者社区失望。Visual Studio亦是如此,新版本的Visual Studio 2010所带来的新特性也让开发者们兴奋不已。
对开场白没兴趣?好吧,我们直接切入正题,下面介绍10个C#编程和Visual Studio IDE使用技巧。
1、Environment.Newline
你是否知道这个属性是与平台无关的?允许你根据每个平台输出新的换行字符。
- Console.WriteLine("My Tips On ,{0}C#", Environment.NewLine);
2、命名空间别名
你是否知道可以使用更短的别名代替长的命名空间?你是否遇到过需要限制完整的命名空间以避免产生歧义?看下面的代码示例,它是使用扩展的.NET Framework控件创建的一个通用库。
- using System.Web.UI.WebControls;
- using MyGenericLibrary.UserControls;
- /* Assuming that you had a Text Box control in both the namespace,
- you would have to fully qualify the class object with the
- complete namespace.To avoid that, you can use namespace alias.
- Change as below */
- using System.Web.UI.WebControls;
- using mc = MyGenericLibrary.UserControls;
- /*and then use, /*
- mc.TextBox textbox = new mc.TextBox();
3、DebuggerBrowsable属性
每个C#开发人员应该都有过程序调试的经历,这个属性在调试期间控制对象行为的能力非常强大,在调试过程中它在一个小提示窗口中显示对象,它可以用于隐藏私有成员或在调试窗口中显示也是多余的成员,例如,当你调试类对象时,在调试窗口中你可以看到私有变量,这个时候你就可以使用[DebuggerBrowsable(DebuggerBrowsableState.Never)]属性来隐藏它们,下面是可见的代码。
- public class MyClass
- {
- private string _id;
- public string InternalID
- {
- get { return _id; }
- set { _id = value; }
- }
- }
下面是使之隐藏的代码:
- [DebuggerBrowsable(DebuggerBrowsableState.Never)]
- public class MyClass
- {
- private string _id;
- public string InternalID
- {
- get { return _id; }
- set { _id = value; }
- }
- }
4、DebuggerDisplay属性
这个属性可让具有可读描述的变量对象显示出来,它有助于提供团队其它成员未来阅读代码的效率,它的用法也是非常简单的,下面的代码示例显示了变量的值。
- public class MyClass
- {
- [DebuggerDisplay("Value = {myVariable}")]
- public string myVariable = "mydisplay";
- }
5、为项目创建虚拟目录
你可以强制每个开发人员在本地为项目创建一个同名的虚拟目录,这个来自Visual Studio IDE的技巧将有助于代码在多个C#开发人员的电脑之间同步。在项目名称上点击右键,选择“属性”,在“Web”选项卡中,选中“使用本地IIS Web服务器”选项,然后为其指定一个虚拟路径,如下图所示。
这样设置后,所有使用该项目文件的开发人员都会收到一个要求,在本地机器上创建一个同名的虚拟目录。
6、改变项目平台
你可以改变应用程序的生成目标平台,这里的平台指的是32位和64位环境,在项目名称上点击右键,选择“属性”,在“Build”选项卡中,选择需要的目标平台,如下图所示。
7、代码定义窗口
这个窗口允许你跳转到对象的定义,你可以按F12键快速跳转到对象的定义位置,在代码编辑器的任意对象上试试这个功能,相信一定不会让你失望的。此外,还有一个专门的代码定义窗口,当你按照Ctrl+W,D组合键时就会弹出一个代码定义窗口。
- if (e.Item.ItemType == ListItemType.Item )
- {
- //Your code here.
- }
如果你将光标停留在ListItemType上面,然后按下组合键,你将会看到如下图所示的一个窗口。
8、Null合并运算符
Null合并运算符允许你以很简洁的方式比较空值,它使用两个问号表示。例如,myfunction返回的值可能是一个空的整数值,在这种情况下,你可以使用合并运算符快速检查它是否为空,然后返回一个代替值。
- int myExpectedValueIfNull = 10;
- int expectedValue = myfunction() ?? myExpectedValueIfNull
9、using语句快捷键
按下Ctrl+.会弹出一列可用的using语句,使用箭头键进行移动,按下回车键确认选择,如下图所示。
10、寻找恐怖的数据集合并错误根本原因
你是否遇到过无法找出数据集合并错误的原因?现在有办法了,使用try-catch将你的代码包围起来,最好是在异常处理块中观察特定代码的输出,可以准确捕捉到合并失败的原因。
- StringBuilder error Messages = new StringBuilder();
- try
- {
- DataSet dataSet1 = populateDataSet(1);
- DataSet dataSet2 = populateDataSet(2);
- dataset1.Merge(dataset2);
- }
- catch (System.Data.DataException de)
- {
- foreach (DataTable myTable in dataSet1.Tables)
- {
- foreach (DataRow myRow in myTable.GetErrors())
- {
- foreach (DataColumn myColumn in myRow.GetColumnsInError())
- {
- //loop through each column in the row that has caused the error
- //during the bind and show it.
- error Messages .Append(string.Format(
- "Merge failed due to : {0}", myColumn.GetColumnError(myColumn)));
- }
- }
- }
- }
小结
希望你能灵活运用这些C#编程和Visual Studio技巧,享受写代码的乐趣,如果你有其它技巧愿意和大家分享,欢迎在本文后面发表评论。
发表评论
-
(转)ASP.NET文件上传控件——WebbUpload我下载了这个组件后做了一些修改并应用了ajax技术
2010-12-06 16:28 980我下载了这个组件后做了一些修改并应用了ajax技术,你们可以去 ... -
ASP.NET 下载管理的基础篇
2010-10-13 11:20 838很多时候一个网站是需要对文件下载进行管理的,不是任何人都允许下 ... -
C#实现获取CPU使用率的方法
2010-10-13 11:09 2129无需多说,直接上代码 using System; ... -
用C#取得远程IP地址,MAC地址的方法
2010-10-13 11:05 1291经常需要获得远程的地址,需要用sendarp这个函数来实现。具 ... -
C#在应用程序中实现自动升级(转)
2010-10-11 12:06 5897这是本人第一次写比较复杂的文章,表达不清之处,请各位见谅。好, ... -
.Net垃圾收集机制 了解算法与代龄
2010-10-08 17:40 634垃圾收集器在本质上就是负责跟踪所有对象被引用到的地方,关注 ... -
深入了解Array,弄个明明白白
2010-10-08 17:28 6941. 数组大局观 数组是一个引用类型,也就是意味着数 ... -
Asp.Net如何实现断点续传
2010-10-08 17:07 1069断点续传的原理 ... -
编码实现动态调用WebService的方法
2010-10-08 11:00 1688调用方法,同时也支持带ref参数的 /// ... -
ASP.NET得到当前代码位置的类名和方法名
2010-10-08 10:31 966protected void writeerror(obje ... -
文本字符的html格式转换
2010-10-08 10:23 763前一段仿泡泡网做了个论坛,遇到了个文本符号转化成相应htm ... -
C#串口serialPort操作
2010-10-08 10:20 1611现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应 ... -
C#.Net创建不规则窗体的几种方法
2010-09-30 13:41 1529现在,C#创建不规则窗体不是一件难事,下面总结一下: 一、自 ... -
浅解XML与DataSet对象的关系及转换
2010-09-30 13:39 969在.NET Framework 中,经常使用XML 作为存储和 ... -
用Visual Studio来自动化测试
2010-09-30 13:32 1103自动化测试的实现 编写自动化测试也许对很多测试人员来说比较陌 ...
相关推荐
推荐:《10个C#编程和Visual Studio使用技巧》(上) 1、DataTable.HasRows 它不属于任何框架,但通过扩展方法很容易模仿这样一个方法,它不会消除检查数据表对象是否为空或行数的原始代码,但它可以简化应用程序的...
本书为C#入门经典.C# 6.0 and Visual Studio 2015.第7版
适合入门级别的人员,PDF文档,总共721页。 C#6.0 VISUALSTUDIO 2015 中文完整版 C#6.0 VISUALSTUDIO 2015 中文完整版 C#6.0 VISUALSTUDIO 2015 中文完整版
好吧,我们直接切入正题,下面介绍10个C#编程和Visual Studio IDE使用技巧。 1、Environment.Newline 你是否知道这个属性是与平台无关的?允许你根据每个平台输出新的换行字符。 Console.WriteLine("My Tips On ,{0...
从C#7开始使用Visual Studio 2017进行编程 Beginning C# 7 Programming with Visual Studio 2017
新版的《C#入门经典(第8版)》由三位专家联袂撰写,浓墨重彩地描述使用C# 7和Visual Studio 2017编写程序的基础知识,是编程新手的终极指南,不要求读者具有任何编程经验。书中讲述变量、流程控制、面向对象编程、Web...
《使用Visual Studio 2017学习C#7编程》对于初学者来说,是一本对世界上最流行编程语言的终极指南。无论你是刚开始编程,还是刚开始接触C#,现在就是最佳时间。新的C# 7和Visual Studio 2017更新提供了一系列新的...
visual studio C#高级编程手册PDF,基于.net2.0讲解,是非常好的教程。 勾月科技www.gouyue.net QQ17878387
[Wrox] Visual Studio 2013 高级编程 (英文版) [Wrox] Professional Visual Studio 2013 (E-Book) ☆ 图书概要:☆ Comprehensive guide to Visual Studio 2013 Visual Studio is your essential tool for ...
C#入门经典(第7版) C# 6.0 & Visual Studio2015 全面介绍使用C# 6和.NET Framework编写程序的基础知识,是编程新手的理想读物。这本分步讲解的实用教程从最基本的面向对象编程讲起,浓墨重彩地描述初学者最常用的...
Visual Studio和C#的入门介绍PPT .NET框架是大家熟知的微软的开发平台,于2002年Visual Studio.NET 2002中,正式发布1.0版本。 .NET框架主要用于创建在Windows平台上运行的应用程序。它提供了必要编译时和运行时...
● 在 C# 程序中使用循环和条件语句指定执行流 程序中使用循环和条件语句指定执行流 程序中使用循环和条件语句指定执行流 程序中使用循环和条件语句指定执行流 程序中使用循环和条件语句指定执行流 程序中使用循环和...
本PDF文档主要介绍了有关编译环境Visual studio.net以及在此基础C#编程的一些规则和注意事项,适合初学者学习c#语言
Visual C# 编程 ppt 共10个
编程工具:Visual Studio 2005 (C#) 实现功能: 因为是采用的是COM组件,所以可以播放Windows Media Player10.可以播放的所有文件,实现播放器最基本功能,添加单曲,搜索整个文件夹中所有MP3文件.显示播放列表.上下移动...
Visual Studio 2010高级编程(professional Visual Studio 2010) 中英文完整版 pdf + 源码 part1 part2地址 : http://download.csdn.net/detail/niehanmin/9519251
Visual Studio 2017 实现HTTP 服务器,客户端请求等