如何在编译时初始化存储颜色值的Integer List,无需运行时初始化
在VB.NET中编译时初始化颜色列表
当然可以!在VB.NET里,你完全可以在声明ColorTable的时候直接完成初始化,不需要单独写一个启动时调用的方法,这样列表在程序启动时就已经填充好数据了,既简洁又专业。
这里给你两种常用的实现方式:
1. 使用集合初始化器(最直接的方式)
这是VB.NET原生支持的语法,编译器会在编译阶段自动把指定元素添加到列表中,程序启动后ColorTable就直接可用:
Public ColorTable As New List(Of Integer) From { 16777215, '0 13421823, '1 10079487, '2 10092543, '3 13434879, '4 10092441 '5 }
这种方式保留了List(Of Integer)的可修改特性,如果后续你需要动态添加或删除颜色值,这个方案很合适。
2. 使用只读集合(适合固定颜色表)
如果你的颜色列表是固定不变的,推荐用只读集合来封装,能避免后续代码意外修改颜色表,安全性更高:
' 先定义编译时初始化的颜色数组 Private ReadOnly _colorArray() As Integer = { 16777215, '0 13421823, '1 10079487, '2 10092543, '3 13434879, '4 10092441 '5 } ' 包装成只读集合对外暴露 Public ReadOnly ColorTable As ReadOnlyCollection(Of Integer) = New ReadOnlyCollection(Of Integer)(_colorArray)
这样ColorTable只能被读取,不能被修改,完全符合固定颜色表的使用场景。
两种方式都能让你摆脱额外的初始化方法,让代码结构更清晰,而且都是在编译阶段完成初始化,程序启动后直接就能用。
内容的提问来源于stack exchange,提问作者tmighty
相关产品推荐
相关产品推荐

