当前位置: 首页 > 编程语言 > C#

静态只读字符串数组分享

时间:2023-04-10 19:06:51 C#

静态只读字符串数组我在我的网络应用程序中使用静态只读字符串数组。基本上数组有错误代码,我将所有类似的错误代码保存在一个数组中并检查这个数组而不是检查每个不同的常量字符串。像publicstaticreadonlystring[]myarray=string[]{"232132132","31232132","123123123"}请告诉我使用staticreadony字符串数组有什么坏处吗?注意:我没有遇到任何错误,想知道使用它是否有任何危害或性能问题?尝试这样的事情:publicstaticreadonlyReadOnlyCollectionErrorList=newReadOnlyCollection(newstring[]{"string1","string2","stringn",});您需要包含命名空间System.Collections.ObjectModel才能公开此对象。ReadOnlyCollection仅作为getter实现,您的数组内容无法更改。好吧,您应该知道只有数组引用是只读的,而不是数组内容。因此,如果数组是公共的(听起来确实如此),程序的任何部分都可以覆盖任何或所有消息,唯一不可能的是调整数组的大小。这符合你对“伤害”的定义吗?正如Ben所提到的,您的数组仍然可以修改。它不能更改为另一个数组,但可以轻松替换其中的元素。作为替代方案,您可以将数组字段设为私有并将其公开在公共属性中,如下所示:publicclassMyClass{privatestaticreadonlystring[]myArray={...};privatestaticreadonlyIListmyArrayReadOnly=Array.AsReadOnly(myArray);publicstaticIListMyArray{get{返回myArrayReadOnly;}}}Kivin有个好主意。您可能会看到静态类中的常量是否更适合您的需要。以上就是C#学习教程分享的全部内容:静态只读字符串数组。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处: