zoukankan      html  css  js  c++  java
  • 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的话实现起来还是挺麻烦的,用以上的方法实现起来既方便又准确!大家觉得好的话,推荐一下哦!

  • 相关阅读:
    【面积并】 Atlantis
    【动态前k大 贪心】 Gone Fishing
    【复杂枚举】 library
    【双端队列bfs 网格图建图】拯救大兵瑞恩
    【奇偶传递关系 边带权】 奇偶游戏
    【权值并查集】 supermarket
    CF w4d3 A. Pythagorean Theorem II
    CF w4d2 C. Purification
    CF w4d2 B. Road Construction
    CF w4d2 A. Cakeminator
  • 原文地址:https://www.cnblogs.com/beimeng/p/3140680.html
Copyright © 2011-2022 走看看