10个C#编程和Visual Studio使用技巧

  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 MyGeneric
Library.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服务器”选项,然后为其指定一个虚拟路径,如下图所示。

图 1 设置项目的本地虚拟目录路径

  这样设置后,所有使用该项目文件的开发人员都会收到一个要求,在本地机器上创建一个同名的虚拟目录。

  6、改变项目平台

  你可以改变应用程序的生成目标平台,这里的平台指的是32位和64位环境,在项目名称上点击右键,选择“属性”,在“Build”选项卡中,选择需要的目标平台,如下图所示。

图 2 修改项目的目标平台

  7、代码定义窗口

  这个窗口允许你跳转到对象的定义,你可以按F12键快速跳转到对象的定义位置,在代码编辑器的任意对象上试试这个功能,相信一定不会让你失望的。此外,还有一个专门的代码定义窗口,当你按照Ctrl+W,D组合键时就会弹出一个代码定义窗口。

if (e.Item.ItemType == ListItemType.Item )

{

//Your code here.

}

  如果你将光标停留在ListItemType上面,然后按下组合键,你将会看到如下图所示的一个窗口。

图 3 代码定义窗口

  8、Null合并运算符

  Null合并运算符允许你以很简洁的方式比较空值,它使用两个问号表示。例如,myfunction返回的值可能是一个空的整数值,在这种情况下,你可以使用合并运算符快速检查它是否为空,然后返回一个代替值。

int myExpectedValueIfNull = 10;

int expectedValue = myfunction() ?? myExpectedValueIfNull

  9、using语句快捷键

  按下Ctrl+.会弹出一列可用的using语句,使用箭头键进行移动,按下回车键确认选择,如下图所示。

图 4 在代码编辑器中快速调出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技巧,享受写代码的乐趣,如果你有其它技巧愿意和大家分享,欢迎在本文后面发表评论。

时间: 2024-09-14 20:41:58

10个C#编程和Visual Studio使用技巧的相关文章

一起谈.NET技术,10个C#编程和Visual Studio使用技巧

C#是一门伟大的编程语言,与C++和Java相比,它的语法更简单,相对来说更好入门,经历10年的发展,C#已经成为编程语言领域强有力的竞争者,每一年我们都能看到它的进步,每一个新版本都加入了许多新特性,总的来说,作为一门编程语言,它没有让C#开发者社区失望.Visual Studio亦是如此,新版本的Visual Studio 2010所带来的新特性也让开发者们兴奋不已. 对开场白没兴趣?好吧,我们直接切入正题,下面介绍10个C#编程和Visual Studio IDE使用技巧. 1.Envir

Visual Studio调试技巧汇总_实用技巧

调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 1 悬停鼠标查看表达式值 调试是很有挑战性的.比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等. 但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里). 一种更简单的方法,把鼠标停在所需查看的数据上.如果是类或结构,那么点击展开可以很方便快速地

微软建议Windows 10开发人员升级到Visual Studio 2017

既然Visual Studio 2017已经发布,那就意味着微软开始专注于让其成为默认开发平台.Creators Update SDK的发布(面向即将到来的Windows 10 Creators Update)就是这种转变的一个很好的例子.该SDK只有Visual Studio 2017支持. 幸运的是,如果开发人员着眼于基于当前版本和将来版本的Windows 10开发系统,那么从这个版本的SDK开始,预览版SDK可以和当前生产版本的SDK并行安装.据微软Visual Studio项目经理Dan

3D编程:Visual Studio Graphics Debugger

Visual Studio Graphics Debugger Visual Studio Graphics Debugger(VS图形开发调试工具)支持在VS2013IDE中动态调试shaders.如果你熟悉之前版本的DirectX,你可能使用过图形调试工具PIX.Visual Studio Graphics Debugger已经取代了PIx但是基本的工作流程保持一致. 警告: VS2013 Express版本并不支持Visual Studio Graphics Debugger.要使用这个调

Visual Studio小技巧:复制代码时,保留原ID

在我们开发过程中,经常会复制一些代码,而Visual Studio会自动把这些代码的ID重新生成,常常导致我们还必须去修改回原ID 其实,Visual Studio是可以保留原始ID的.我们可以通过在Tools- >Options->Text Editor->HTML->Miscellaneous中,把Auto ID elements on paste in Source View前面的勾去掉就可以. 如图所示 另外: 最近在研究SharePoint 工作流,最开始一头雾水,对In

C#中几个未知的Visual Studio编码技巧分享_C#教程

用了多年的Visual Studio,今天才发现这个编码技巧,真是惭愧,分享出来,算是抛砖引玉吧! 开发环境: vs2010+C# 1.代码重构新建类 如果你还像我以前一样使用右键快捷菜单新建类,那就太Out了.VS的那个"新建项对话框"出来的很慢,很影响心情.当你发现需要定义一个类时,正确的方法:1)在当前代码处定义上类名,例如:List<NewClass> ls; 2)焦点移动到NewClass处,按下ctrl + .("点")3)回车.这样类就建好

Visual Studio 小技巧:自定义代码片断

用鼠标点点Visual Studio,会发现有个代码片断菜单:    点开后发现,原来是常用的代码片断(Tab的快捷方式)的管理器:   于是打开上面的文件夹路径:   通过经验或者直觉可知:要自定义代码片断,只要把文件复制一份,改改名称和参数,然后导入就应该可以了:   下面我就演示下MAction类来示例:   我把if.snippet复制了一份,改名为maction.snippet,然后用vs打开,发现是个xml: <?xml version="1.0" encoding=

Visual Studio 原生开发的10个调试技巧(二)

原文:Visual Studio 原生开发的10个调试技巧(二) 我以前关于 Visual Studio 调试技巧的文章引起了大家很大的兴趣,以至于我决定分享更多调试的知识.以下的列表中你可以看到写原生开发的调试技巧(接着以前的文章来编号).这些技巧可以应用在 VS2005 或者更新版本中(当然有一些可以适用于旧版本).如果你继续,你可以知道每个技巧的详细信息. 数据断点 线程重命名 特定进程中断 大概执行时间 数字格式化 内存数据格式化 系统DLL中断 装载符号表 MFC中内存泄露报告 调试A

10 个 Visual Studio 原生开发的调试技巧

我以前关于Visual Studio调试技巧的文章引起了大家很大的兴趣,以至于我决定分享更多调试的知识.以下的列表中你可以看到写原生开发的调试技巧(接着以前的文章来编号).这些技巧可以应用在VS2005或者更新版本中(当然有一些可以适用于旧版本).如果你继续,你可以知道每个技巧的详细信息. 数据断点 线程重命名 特定进程中断 大概执行时间 数字格式化 内存数据格式化 系统DLL中断 装载符号表 MFC中内存泄露报告 调试ATL 提示11:数据断点 当数据所在内存位置变化时,调试器将会中断.然而,