C#编程和Visual Studio使用技巧(上)

对开场白没兴趣?好吧,我们直接切入正题,下面介绍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”选项卡中,选择需要的目标平台,如下图所示。

图1 修改项目的目标平台

7、代码定义窗口

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

if (e.Item.ItemType == ListItemType.Item )
 {
   //Your code here.
 }

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

图2  代码定义窗口

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技巧,享受写代码的乐趣,大家多多交流,一起进步

(0)

相关推荐

  • 利用Typings为Visual Studio Code实现智能提示功能

    前言 相信大家都知道在IDE中代码的智能提示几乎都是标配,虽然一些文本编辑器也有一些简单的提示,但这是通过代码片段提供的.功能上远不能和IDE相比.不过最近兴起的文本编辑器的新锐 Visual Studio Code 可以通过 Typings 来对 JavaScript 实现智能提示功能,对于一个文本编辑器来说,这点很难得.所以Visual Studio Code 特别适合用来编写 JavaScript(Node.js)程序; 同时,如果我们需要编写一些尝试性的小代码片段,例如:Lodash.j

  • C#编程和Visual Studio使用技巧(下)

    如果你通过搜索引擎发现这篇文章的,我建议你先看看本系列的第一篇,这是本系列文章的第二篇,今天为大家带来更丰富的C#和Visual Studio编程技巧,一起来看看吧. 推荐:<10个C#编程和Visual Studio使用技巧>(上) 1.DataTable.HasRows 它不属于任何框架,但通过扩展方法很容易模仿这样一个方法,它不会消除检查数据表对象是否为空或行数的原始代码,但它可以简化应用程序的代码,下面是一个代码片段: <CODE> public static bool H

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

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

  • Visual Studio调试技巧汇总

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

  • 分享Visual Studio原生开发的10个调试技巧(2)

    之前关于Visual Studio调试技巧的文章引起了大家很大的兴趣,以至于我决定分享更多调试的知识.以下的列表中你可以看到写原生开发的调试技巧(接着以前的文章来编号).这些技巧可以应用在VS2005或者更新版本中(当然有一些可以适用于旧版本).如果你继续,你可以知道每个技巧的详细信息. 技巧11:数据断点 当数据所在内存位置变化时,调试器将会中断.然而,这是唯一可能在一个时间创建4这样的硬件的数据断点.数据断点只能在编译的过程中添加,可以通过菜单(编译>新断点>新数据断点)或者通过断点窗口来

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

    最近碰巧读了Ivan Shcherbakov写的一篇文章,<11个强大的Visual Studio调试小技巧>.这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧.我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧.(如果你是工作在托管代码下,调试器会有更多的特性,在CodeProject中有介绍它们的文章),下面是我的整理的一些技巧: 异常中断 | Break on Exception Watch窗口中的伪变量 |

  • C#编程和Visual Studio使用技巧(上)

    对开场白没兴趣?好吧,我们直接切入正题,下面介绍10个C#编程和Visual Studio IDE使用技巧. 1.Environment.Newline 你是否知道这个属性是与平台无关的?允许你根据每个平台输出新的换行字符. Console.WriteLine("My Tips On ,{0}C#", Environment.NewLine); 2.命名空间别名 你是否知道可以使用更短的别名代替长的命名空间?你是否遇到过需要限制完整的命名空间以避免产生歧义?看下面的代码示例,它是使用扩

  • Visual Studio for Mac版 初体验

    你喜爱的 IDE,现在可用于 Mac.因为在 Visual Studio for Mac 之前,已经有了 Visual Studio Code for Mac,那时候我们还以为 Visual Studio Code 就是 Visual Studio 的跨平台版本,但事实微软并不是这样想的,Visual Studio Code 相对于 Visual Studio 还是太简化了,企业级的应用开发 Visual Studio Code 还是有些力不从心,所以 Visual Studio for Mac

  • Visual Studio 2017 针对移动开发的新特性汇总

    Visual Studio是世界上最好的IDE之一,如果是 .NET世界,那就没有之一了(^_^),而最近推出的Visual Studio 2017在移动平台方面更是加强了这一点.这个版本包含了一些非常棒的功能,包括实时单元测试.新的重构.代码提示.C#7.0的支持,以及帮助移动开发人员构建更好的移动应用程序的功能. 下面,就让我们一起来看看Visual Studio 2017中有哪些功能使得移动开发变得更加容易. Visual Studio 2017的安装体验有所提升 Visual Studi

  • Visual Studio安装git插件的方法步骤

    在Visual Studio 中使用git--什么是Git(一) 如果要使用git进行版本管理,其实使用git命令行工具就完全足够了,图形化工具(无论是git extentions,还是TortoiseGit),都只不过是命令行的封装.就功能而言,他们能做的,命令行全部可以做到:但命令行能做的,他们不 一定可以做到.命令行更加原生.本色,跨越平台,以一当十.建议熟悉git命令行工具.但图形化工具也有自己的优点,就是直观. Visual Studio 2019中自带Git功能.如下图. 2.Vis

  • 12个Visual Studio调试效率技巧(小结)

    在这篇文章中,我们假定读者了解 VS 基本的调试知识,如: F5 开始使用调试器运行程序 F9 在当前行设置断点 F10 运行到下一个断点处 F5 从被调试的已停止程序恢复执行 F11 步进到函数内(如果当前程序指针指向一个函数) F10 步过函数(如果当前程序指针指向一个函数) Shift+F11 步出执行的函数 暂停执行 附加到进程 鼠标悬停时快速查看源代码中的元素 调试窗口:局部变量.监视.即时窗口.模块.调用堆栈.异常设置 许多开发人员使用这个功能强大的工具包来处理调试会话.然而, Vi

随机推荐