C#学习教程:静态只读字符串数组分享


静态只读字符串数组

我在我的Web应用程序中使用静态只读字符串数组。 基本上数组有错误代码,我已经将所有类似的错误代码保存在一个数组中并检查此数组,而不是检查每个不同的常量字符串。

喜欢

public static readonly string[] myarray = string[] {"232132132","31232132","123123123"} 

请告诉我使用静态readony字符串数组有什么害处吗?

注意:我没有遇到任何错误,想知道使用这样有什么危害或性能问题吗?

尝试这样的事情:

 public static readonly ReadOnlyCollection ErrorList = new ReadOnlyCollection( new string[] { "string1", "string2", "stringn", } ); 

您需要include命名空间System.Collections.ObjectModel才能公开此对象。 ReadOnlyCollection仅作为getter实现,并且您的数组内容无法更改。

好吧,你应该知道它只是数组引用是readonly,而不是数组内容。 因此,如果数组是公共的(并且听起来像是这样),程序的任何部分都可以覆盖任何或所有消息,唯一不可能的是调整数组的大小。

这符合您对“伤害”的定义吗?

正如本提到的那样,你的arrays仍然可以修改。 它不能更改为另一个数组,但可以轻松替换其中的元素。 作为替代方案,您可以将数组字段设为私有,并将其公开在公共属性中,如下所示:

 public class MyClass { private static readonly string[] myArray = { ... }; private static readonly IList myArrayReadOnly = Array.AsReadOnly(myArray); public static IList MyArray { get { return myArrayReadOnly; } } } 

Kivin有个好主意。

您可能会看到静态类中的常量是否更适合您的需求。

上述就是C#学习教程:静态只读字符串数组分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1269729.html

(0)
上一篇 1天前
下一篇 1天前

精彩推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注