龙空技术网

从excel到VBnet :汉字笔画排序及拼音排序

探索3000 96

前言:

此刻看官们对“vbnet列的和”大约比较着重,朋友们都需要知道一些“vbnet列的和”的相关资讯。那么小编同时在网摘上汇集了一些对于“vbnet列的和””的相关文章,希望大家能喜欢,姐妹们一起来学习一下吧!

先看看excel怎么处理笔画排序的:

视频加载中...

以上视频展示了使用excel内部排序规则来进行笔画排序

然后通过下面对应表来确定笔画数

汉字与笔画数对应表:汉字 笔画数一1二2三3亖4弍5弎6匤7邼8砉9耕10彗11耠12耢13耤14熭15耩16耫17耮18耯19瓎20耰21耲22瓚23瓛24纛25驠26鬤27驨28驪29驫30灩31籲32龗33齾35齉36靐39龘48

通过excel对汉字进行对比笔画对应表再排序。比如“弎”6画,匤7画,邼8画

通过相邻区间位置,可以容易得到汉字笔画数表。这个工作我将后一步编程实现。

通过查找MSDN,找到相关资料:

NET Framework 中的排序与字符串比较

字符串比较

CompareInfo 类提供了一组可用来执行区分文化的字符串比较方法。CultureInfo.CompareInfo 属性(CultureInfo 类的一个实例)可定义如何针对特定文化来比较和排序字符串。String.Compare 方法使用 CultureInfo.CompareInfo 属性中的信息来比较字符串。如果 string1 小于 string2,此方法返回一个负整数;如果 string1 和 string2 相等,则返回零 (0);如果 string1 大于 string2,则返回一个正整数。

以下代码示例将说明如何根据进行比较时所使用的文化,通过 String.Compare 方法以不同的方式来计算两个字符串。首先,将 CurrentCulture 设置为丹麦语(丹麦),并比较字符串 "Apple" 和 "Æble"。丹麦语将字符 "Æ" 视为一个单独的字母,在字母表中将其排在 "Z" 之后。因此对于丹麦语文化,字符串 "Æble" 大于 "Apple"。接下来,将 CurrentCulture 设置为英语(美国),再次比较字符串 "Apple" 和 "Æble"。这一次,字符串 "Æble" 被认为小于 "Apple"。英语语言将字符 "Æ" 视为一个特殊符号,在字母表中将其排在字母 "A" 之前。

字符串排序

Array 类提供了一个重载的 Array.Sort 方法,通过它可以根据 CultureInfo.CurrentCulture 属性来排序数据。在以下示例中,将创建一个由三个字符串组成的数组。首先,将 CurrentCulture 设置为 "en-US" 并调用 Array.Sort 方法。生成的排序顺序采用的是 "en-US" 文化的排序约定。接下来,将 CurrentCulture 设置为 "da-DK",并再次调用 Array.Sort 方法。注意此排序顺序的生成方式不同于 "en-US" 的结果,因为这次使用的是 "da-DK" 文化的排序约定。

Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click        Dim sz As String() = {"我", "是", "中", "国", "人"}        ‘定义一个字符串数组        Thread.CurrentThread.CurrentCulture = New CultureInfo(&H804)设置CurrentCulture.LCID为&H804,注意是十六进制,下面输出也用了HEX输出。        ListBox1.Items.Add(Hex(Application.CurrentCulture.LCID))        Array.Sort(sz)        排序到listbox(sz)        ListBox1.Items.Add("按发音数排序完成")        Thread.CurrentThread.CurrentCulture = New CultureInfo(&H20804)        ListBox1.Items.Add(Hex(Application.CurrentCulture.LCID))        Array.Sort(sz)        排序到listbox(sz)        ListBox1.Items.Add("按笔画数排序完成")        Thread.CurrentThread.CurrentCulture = New CultureInfo("zh-cn")        ListBox1.Items.Add(Hex(Application.CurrentCulture.LCID))        Array.Sort(sz)        排序到listbox(sz)        ListBox1.Items.Add("按拼音排序完成")            End Sub      Sub 排序到listbox(sz() As String)        For i = 0 To UBound(sz)            ListBox1.Items.Add(sz(i))        Next    End Sub

标签: #vbnet列的和