• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#编程和Visual Studio使用技巧(下)

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

作者:黄永兵 字体:[增加 减小] 来源:互联网 时间:2017-05-28

黄永兵 通过本文主要向大家介绍了c站,c语言,欲情 c max,奔驰c200,85度c等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

如果你通过搜索引擎发现这篇文章的,我建议你先看看本系列的第一篇,这是本系列文章的第二篇,今天为大家带来更丰富的C#和Visual Studio编程技巧,一起来看看吧。

推荐:《10个C#编程和Visual Studio使用技巧》(上)

1、DataTable.HasRows

它不属于任何框架,但通过扩展方法很容易模仿这样一个方法,它不会消除检查数据表对象是否为空或行数的原始代码,但它可以简化应用程序的代码,下面是一个代码片段:

<CODE> 
public static bool HasRows(this DataTable dataTable) 
  { 
return dataTable.IsNull() ? false : (dataTable.Rows.Count > 0); 
  } 
 
 public static bool IsNull(this object o) 
  { 
   return (o == null); 
  } 
 
 To use: 
 If(dataTable.HasRows()) 
 { 
 … 
 } 
  </CODE> 
</div>

其它规则仍然和扩展方法相同。

2、ToTitleCase

这个方法可以将每个单词的首字母转换为大写,剩下的字母转换为小写,例如,“look below for a sample”将被转换为“Look Below For A Sample”,TextInfo是System.Globalization命名空间的一部分,但它存在以下问题:

当前的文化

如果输入字符串全部是大写

下面的扩展方法同时考虑了这两个缺陷。

<CODE> 
public static string ToTitleCase(this string inputString) 
  { 
   return Thread.CurrentThread.CurrentCulture.TextInfo. 
ToTitleCase((inputString ?? string.Empty).ToLower()); 
 } 
  </CODE> 
</div>

3、显性和隐性接口实现

这很重要吗?是的,非常重要,你知道它们之间的语法差异吗?其实它们存在根本性的区别。类上的隐性接口实现默认是一个公共方法,在类的对象或接口上都可以访问。而类上的显性接口实现默认是一个私有方法,只能通过接口访问,不能通过类的对象访问。下面是示例代码:

<CODE> 
 
 INTERFACE 
 public interface IMyInterface 
 { 
 void MyMethod(string myString); 
 } 
 
 CLASS THAT IMPLEMENTS THE INTERFACE IMPLICITLY 
 public MyImplicitClass: IMyInterface 
 { 
 public void MyMethod(string myString) 
 { 
 /// 
 } 
 } 
 
 CLASS THAT IMPLEMENTS THE INTERFACE EXPLICITLY 
 public MyExplicitClass: IMyInterface 
 { 
 void IMyInterface.MyMethod(string myString) 
 { 
 /// 
 } 
 } 
 
 MyImplicitClass instance would work with either the class or the Interface: 
 MyImplicitClass myObject = new MyImplicitClass(); 
 myObject.MyMethod(""); 
 IMyInterface myObject = new MyImplicitClass(); 
 myObject.MyMethod(""); 
 
 MyExplicitClass would work only with the interface: 
 //The following line would not work. 
 MyExplicitClass myObject = new MyExplicitClass(); 
 myObject.MyMethod(""); 
 //This will work 
 IMyInterface myObject = new MyExplicitClass(); 
 myObject.MyMethod(""); 
 
 </CODE> 
</div>

4、Auto属性

它是替换包含一个公共,两个私有成员属性的最好办法。

按下两次Tab键(需要开启代码片段功能),一个Auto属性就创建好了,再按Tab键Auto属性取一个名字。下面这段代码

<CODE> 
 private double _total; 
 public double Total 
 { 
 get { return _total; } 
 set { _total = value; } 
 } 
 </CODE> 
</div>

就变成了

<CODE> 
public double Total { get; set; } 
 </CODE> 
</div>

注意你仍然可以根据你的设计应用访问说明符,编译器应该会为你创建私有成员变量。

5、强大的Path.Combine

Path.Combine凭借强大的功能消除了尾斜线和路径相关的问题,简单易用,让路径字符串更连续,它包含一个字符串路径参数。

你不用担心路径中的有效分隔符或空格,完全不用你处理路径合并时的字符串连接。

6、在类中编写“Override”方法的快速方法

在代码编辑器中输入override,按空格键,你将会看到一串基于类的可覆写方法,如图2所示。

图1  可覆写方法列表

7、使用扩展的配置文件

感谢app.config(针对应用程序)和web.config配置文件,使我们可以处理复杂的应用程序级设置,但是我们仍然要处理不同环境设置面临的各种问题,这里指的是开发、测试和生产环境的设置。

我们不得不恢复到一个特定的环境以便进行分析、测试或调式部分代码,在这个过程中,每一次设置和调整都很乏味。

例如,每一次恢复可能都要重新设置ConnectionStrings(连接字符串),现在你可以通过外部文件引用使用ConfigSource属性来解决这个问题。例如,下面的代码引用了一个deveploment.config外部配置文件。

<connectionStrings configSource="configs\ development.config" /> 
</div>

你还可以在AppSettings设置小节使用这个有用的属性。

8、克服String.Split方法的局限

String.Split是分隔字符串最理想的方法,但据我们所知,它也有一些限制,如不能使用“||”或“::”这样的字符,必须使用键盘上独一无二的单个字符作为分隔符,这个缺点可以使用RegEx库提供的Split方法来克服掉,下面的代码显示了使用RegEx Split分隔一个“||”分隔字符串。

<CODE> 
string delimitedString = "String.Split || RegEx.Split"); 
string[] ouputString = System.Text.RegularExpressions.Regex.Split( 
 delimitedString, 
 , System.Text.RegularExpressions.Regex.Escape("||")); 
 </CODE> 
</div>

9、元素的HTML代码视图和设计视图之间的快速切换(反之亦然)

在设计应用程序时,我们在IDE上花费的时间很多,大部分时间都耗在HTML内容和设计视图上,Visual Studio 2010提供了设计视图和HTML代码之间快速切换的功能。

如果你在HTML视图中,定位你想在设计视图中查看的元素,然后切换到设计视图,你想查看的元素应该处于选中状态,此外,属性窗口现在也应该显示的是选中元素的属性。
与此类似,当你在设计视图中,选中元素,然后切换到代码视图,你选中的元素对应的HTML代码应该是高亮状态。

10、快速搜索数据库中的数据

虽然数据表支持Find和Select方法选择行,但它们都没有DataView的方法好用,DataView提供了一个FindRows方法,它可以使用排序列上创建的索引,因此速度更快。
希望这些技巧可以帮助你节省宝贵的编程时间,赶快去试试吧!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C# 检索不区分大小写并高亮显示实例详解
  • C#实现Base64处理的加密解密,编码解码示例
  • C# SqlHelper应用开发学习
  • C#多线程经典示例(吃苹果)
  • C#使用Windows Service的简单教程(创建、安装、卸载、调试)
  • C# 6.0 的知识梳理
  • C#向PPT文档插入图片以及导出图片的实例
  • C#使用Jquery zTree实现树状结构显示 异步数据加载
  • C#清理非托管对象实例分析
  • C#双缓冲技术实例详解

相关文章

  • 2017-05-28浅谈C# 非模式窗体show()和模式窗体showdialog()的区别
  • 2017-05-28C# WinForm窗口最小化到系统托盘
  • 2017-05-28c# datetime 格式化大全
  • 2017-05-28c#编写的高并发数据库控制访问代码
  • 2017-05-28C#验证给定字符串是否为数字的方法
  • 2017-05-28C#精确计算年龄的方法分析
  • 2017-05-28使用mutex实现应用程序单实例运行代码分享
  • 2017-05-28vs2005中总是保留最近打开的项目和文件的记录
  • 2017-05-28c# Base64编码和图片的互相转换代码
  • 2017-05-28C#自动设置IE代理服务器(翻墙软件)代码实现

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 使用xmltextreader对象读取xml文档示例
    • c#动态加载卸载DLL的方法
    • 使用TypeScript开发微信小程序的方法
    • 解析C#中断言与异常的应用方式及异常处理的流程控制
    • 支持多类型数据库的c#数据库模型示例
    • C#读取xml节点数据方法小结
    • 举例讲解C#中自动实现的属性
    • WPF自动隐藏的消息框的实例代码
    • C#实现图片加相框的方法
    • C#使用xsd文件验证XML格式是否正确的实现方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有