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

原创
开发 后端
C#是一门伟大的编程语言,与C++和Java相比,它的语法更简单,相对来说更好入门。Visual Studio作为.Net平台上最重量级的IDE,也通过不断的更新为开发者带来更出色的开发体验。本文将介绍10个C#编程和Visual Studio IDE使用技巧。

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); 
  • 1.

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(); 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

3、DebuggerBrowsable属性

每个C#开发人员应该都有过程序调试的经历,这个属性在调试期间控制对象行为的能力非常强大,在调试过程中它在一个小提示窗口中显示对象,它可以用于隐藏私有成员或在调试窗口中显示也是多余的成员,例如,当你调试类对象时,在调试窗口中你可以看到私有变量,这个时候你就可以使用[DebuggerBrowsable(DebuggerBrowsableState.Never)]属性来隐藏它们,下面是可见的代码。

public class MyClass  
  {  
      private string _id;  
         
      public string InternalID  
      {  
            get { return _id; }  
            set { _id = value; }  
      }  
  } 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

下面是使之隐藏的代码:

[DebuggerBrowsable(DebuggerBrowsableState.Never)]  
  public class MyClass  
  {  
      private string _id;  
         
      public string InternalID  
      {  
            get { return _id; }  
            set { _id = value; }  
      }  
  } 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

4、DebuggerDisplay属性

这个属性可让具有可读描述的变量对象显示出来,它有助于提供团队其它成员未来阅读代码的效率,它的用法也是非常简单的,下面的代码示例显示了变量的值。

public class MyClass  
  {  
     [DebuggerDisplay("Value = {myVariable}")]  
      public string myVariable = "mydisplay";  
  } 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

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.  
  } 
  • 1.
  • 2.
  • 3.
  • 4.

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

代码定义窗口 
图 3 代码定义窗口

8、Null合并运算符

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

int myExpectedValueIfNull = 10;  
int expectedValue = myfunction() ?? myExpectedValueIfNull 
  • 1.
  • 2.

9、using语句快捷键

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

在代码编辑器中快速调出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)));  
            }  
         }  
      }  
                      } 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

小结

希望你能灵活运用这些C#编程和Visual Studio技巧,享受写代码的乐趣,如果你有其它技巧愿意和大家分享,欢迎在本文后面发表评论。

【编辑推荐】 

  1. Visual Studio自定义调整窗体的两个小技巧
  2. Visual Studio 2010中关于C#的几点改进
  3. Visual Studio 2010及.Net 4新功能一览
  4. 提高效率 用好Visual Studio 2010自定义代码段

原文作者:Memphisto                        黄永兵 译

原文地址:http://codeguru.earthweb.com/csharp/csharp/cs_misc/article.php/c17967/10-C-Programming-and-Microsoft-Visual-Studio-Tips-and-Tricks.htm

责任编辑:王晓东 来源: 51CTO.com
相关推荐

2010-11-10 09:01:50

Visual Stud

2010-11-30 09:06:28

Visual Stud

2009-12-16 15:44:20

Visual Stud

2009-09-02 16:21:17

Visual BasiC#语言

2009-08-24 17:50:39

C#项目案例

2009-12-16 14:51:27

Visual Stud

2009-08-06 17:15:34

C#开发和使用

2020-07-09 15:10:20

开发技能代码

2009-12-04 14:40:43

Visual Stud

2009-08-19 16:50:32

Visual C#C#语言特性

2009-08-20 11:03:34

Visual C#使用

2009-12-16 16:57:03

Visual Stud

2011-04-02 08:39:27

Visual Stud

2009-12-03 13:47:13

Microsoft V

2022-02-12 12:26:45

C#.NET 6微软

2009-08-12 14:01:17

C# Excel编程技

2023-10-12 08:41:36

C# 开发工具

2009-08-03 16:22:58

C#编程技巧

2009-08-07 10:53:59

Visual C#Excel

2009-07-02 10:07:24

C# 4.0的动态类型Visual Stud
点赞
收藏

51CTO技术栈公众号