如何在VB中实现字母顺序列表排序器
VB.NET 字母顺序列表排序器实现方案
以下是基于WinForm的可直接落地的实现,全程不需要第三方组件:
第一步:界面控件配置
拖入3个基础控件即可,属性按需求调整:
- 输入文本框:命名为
txtInput,开启Multiline = True,调整到合适宽高,方便用户粘贴/输入多行待排内容 - 触发按钮:命名为
btnSort,按钮文本设置为「开始排序」 - 结果展示标签:命名为
lblResult,设置AutoSize = False,拉到足够展示结果的尺寸,可搭配容器开启滚动条适配长列表
第二步:核心功能代码
双击设计界面的排序按钮,进入点击事件编辑,写入以下代码:
Private Sub btnSort_Click(sender As Object, e As EventArgs) Handles btnSort.Click ' 按换行拆分输入内容,自动过滤空行 Dim sortItems = txtInput.Text.Split({vbCrLf, vbLf, vbCr}, StringSplitOptions.RemoveEmptyEntries) ' 字母排序,参数StringComparer.OrdinalIgnoreCase表示忽略大小写,需要区分大小写就换成StringComparer.Ordinal Array.Sort(sortItems, StringComparer.OrdinalIgnoreCase) ' 排序结果拼接后赋值给标签展示 lblResult.Text = String.Join(Environment.NewLine, sortItems) End Sub
可选调整项
- 如果待排内容是用逗号、空格而非换行分隔的,只要在
Split方法的分隔符数组里加上对应分隔符即可,比如要支持逗号分隔就写成{vbCrLf, vbLf, vbCr, ","} - 需要Z-A倒序排列的话,在
Array.Sort行后面加一行Array.Reverse(sortItems)即可 - 中文内容会默认按拼音首字母排序,不需要额外引入编码或者排序规则
- 如果结果太长标签展示不全,也可以把标签换成只读的
TextBox(设置ReadOnly = True)展示,自带滚动条更方便
内容的提问来源于stack exchange,提问作者Anpnymous 101
相关产品推荐
相关产品推荐

