- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我深入了解了 List<T>
并发现了以下代码:
public T this[int index] {
get {
// Following trick can reduce the range check by one
if ((uint) index >= (uint)_size) {
ThrowHelper.ThrowArgumentOutOfRangeException();
}
Contract.EndContractBlock();
return _items[index];
}
set {
if ((uint) index >= (uint)_size) {
ThrowHelper.ThrowArgumentOutOfRangeException();
}
Contract.EndContractBlock();
_items[index] = value;
_version++;
}
}
在 if
中声明,index
和_size
(类型 Int32
)被转换为 UInt32
,我知道不是因为溢出,因为首先。if
有评论指出否则
问题: 除了溢出之外,将整数转换为无符号整数的概念是什么?在什么特定情况下它对开发人员有用?
最佳答案
重点是一步处理负数和正数。
如果将负数转换为 uint
,结果保证大于int.MaxValue
。因此任何负索引都会失败 (uint) index >= (uint)_size
查看。如果移除石膏,则需要进行两项检查:index < 0 || index >= _size
。由于 Actor 阵容是“免费”的,这最终会稍微提高性能。
关于c# - (uint) index >= (uint)_size 比 index >= _size 更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75724632/
我深入了解了 List并发现了以下代码: public T this[int index] { get { // Following trick can red
new _Elem[_Size]() 与 new _Elem[_Size]{} 之间有什么区别,我应该更喜欢哪种形式? 如果您知道所讨论的元素并且未在模板参数中使用它,这会有什么不同吗? 这个问题假设
我使用“ld -r -b binary -o binary.o foo.jpeg”在我的程序中嵌入资源。效果棒极了。我只是想知道为什么 int _binary_size 符号永远不会正确读取负数或太大
我有这个模型,它有一个干净的方法来验证 django admin 中 mp3 文件的上传(注意 audio_file 字段): class Cancion(models.Model): nom
我注意到如果我对索引中所有ElasticSearch文档的_size属性进行汇总,则得到的值约为180 GB,但是如果我访问同一索引的_stats API端点,则得到所有size_in_bytes的p
这是一个关于在 mysql 5.1 的 my.cnf 文件中设置参数的非常简单的问题。 此页面为我提供了可以调整的参数: http://dev.mysql.com/doc/refman/5.0/en/
我有一段代码是这样的: std::array Player; #define Player(playerid) Player[playerid] 然后按如下方式使用它: Player(id).Some
我是一名优秀的程序员,十分优秀!