首页
学习
活动
专区
圈层
工具
发布

CA1819:属性不应返回数组

值 规则 ID CA1819 类别 “性能” 修复是中断修复还是非中断修复 重大 原因 属性返回数组。 默认情况下,此规则仅查看外部可见的属性和类型,但这是可配置的。...规则说明 即使属性是只读的,该属性返回的数组也不受写入保护。 若要使数组不会被更改,属性必须返回数组的副本。 通常,用户不能理解调用这种属性的负面性能影响。...如何解决冲突 要解决此规则的冲突,请将属性设置为方法或更改属性以返回集合。 何时禁止显示警告 可禁止显示从 Attribute 类派生的特性中由属性引发的警告。...特性可以包含返回数组的属性,但不能包含返回集合的属性。 如果属性是数据传输对象 (DTO) 类的一部分,则可以禁止显示警告. 否则,请勿禁止显示此规则发出的警告。...pages End Sub Public ReadOnly Property Pages() As String() End Class 若要解决此规则的冲突,请将属性设置为方法或更改属性以返回集合而不是数组

2K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    php json_encode()函数返回对象和数组问题

    php json_encode() 函数格式化数据时会根据不同的数组类型格式化不同类型的json数据 索引数组时 <?...php $arr = []; print_r(json_encode($arr)); //输出 [] 索引数组时生成的是数组类型数据,关联数组时生成的是对象类型的数据,空数组返回的是数组类型。...但是当碰到同一个字段返回的数组可能是关联数组也可能是空数组时,就会在app端出现数据类型不一致的问题,解决方式有两种: 一,使用 json_encode的 JSON_FORCE_OBJECT 模式 <?...php $arr = []; print_r(json_encode($arr,JSON_FORCE_OBJECT)); //输出 {} 但是这种存在一个问题,它会把所有的数据都以对象的方式返回,包括索引数组...php $arr = new ArrayObject(); print_r(json_encode($arr)); //输出 {} 到这里我们可以随意的控制返回的json数据中数据的类型啦!!!!

    5.4K10

    golang | 是返回struct还是返回struct的指针

    当我们定义一个函数时,是返回结构体呢,还是返回指向结构体的指针呢? 对于这个问题,我想大部分人的回答,肯定都是返回指针,因为这样可以避免结构体的拷贝,使代码的效率更高,性能更好。 但真的是这样吗?...由此可见,返回结构体指针的形式,确实是只传递了一个地址。 我们再来看下返回结构体的情况: ? 这次函数f返回的是S,而不是*S,看看这样写其汇编是什么样子: ?...这次结果显示,f2函数,即返回结构体形式,比f1函数,即返回指针的形式,居然快了将近5倍,意不意外? 这是为什么呢? 其实在上图中,就有一些线索。...以上是对80字节大小的结构体,返回指针和返回值情况的比较,那如果结构体字节数更小或更大会怎么样呢? 经过测试,1MiB字节以下,返回结构体都更有优势。 那返回指针的方式是不是没用了呢?...也不是,如果你最终的结构体,就是要存放到堆里,比如要存放到全局的map里,那返回指针优势就更大些,因为其省去了返回结构体时的拷贝操作。 就这些,希望对你有所帮助。

    4.8K41
    领券