Microsoft.VisualBasic.dll的妙用(开发中肯定会用到哦)

前言

       做过VB开发的都知道,有一些VB里面的好的函数在.NET里面都没有,而Microsoft.VisualBasic.dll却给我们提供使用这些函数的功能(没用过VB的这些功能一样可以使用,大同小异而已)

今天这里主要讲两个:一个是繁简转换,另一个是计算时间差,相信大家都有方法实现这两个功能,而我今天讲的却是只各需一句代码就实现这两个功能!

功能一:繁简转换

首先需要引用Microsoft.VisualBasic.dll,废话不多说直接上代码

using Microsoft.VisualBasic;

string str="悲梦";

//简体转繁体
str=Strings.StrConv(str, VbStrConv.TraditionalChinese, 1033);

//繁体转简体
str=Strings.StrConv(str, VbStrConv.SimplifiedChinese, 1033);

String.StrConv 的說明:

第一个参数是待转换的字符串;

第二个参数是欲转换的字体的枚举值;

第三个参数是文字转换后,最后对应的编码格式(LocaleID);

1028 繁体中文
1033 ASCII
2052 简体中文
為何不管繁体转简体还是简体转繁体我都用 1033 呢?
首先,要先知道,有些简体中文的编码值是在繁体中文中对应不到任何字的。此时,显示的字就会是 "?" 号。
因为 2052 的 「 国] 已经是简体字了,转换到繁体时,刚好其编码对应不到1028 的编码,因此会是问号。
最好的方式,是以 en-US(美国) 作为编码格式。当以 en-US 作为最后的编码格式后,又遇到亚洲字时,就会以 unicode 作为储存编码格式。此时刚好与 .net 的 string 储存格式相同。这样就解决了问题!
因此,当我们在做繁简转换时,请将第三个参数都设成 1033

功能二:时间差计算

    相信大家都有计算两个时间的时间差,有可能是计算相差的天数、小时、分钟、秒,这些我们都可以通过一句代码来实现,先上代码

using Microsoft.VisualBasic;

//可以得到dt=50
long dt = DateAndTime.DateDiff(DateInterval.Hour, DateTime.Now, DateTime.Now.AddHours(50));
DateAndTime.DateDiff说明:
第一个参数是需要得到的时间差的形式的枚举值;可以是天数,小时,分钟,秒数等

第二个参数就是减的时间值;

第三个参数就是被减的时间值;

结束语

     以上两个功能看起来都很简单,但是如果不借助Microsoft.VisualBasic.dll的话实现起来还是挺麻烦的,用以上的方法实现起来既方便又准确!大家觉得好的话,推荐一下哦!

原文地址:https://www.cnblogs.com/beimeng/p/3140680.html