相关疑难解决方法(0)

为什么unsigned int不符合CLS?

为什么无符号整数不符合CLS?

我开始认为类型规范只是为了性能而不是为了正确性.

.net c# cls-compliant unsigned-integer

104
推荐指数
4
解决办法
2万
查看次数

为什么Array.Length是int,而不是uint

为什么是Array.Lengthint,而不是uint.这让我感到困扰(只是一点点),因为长度值永远不会是负数.

这也迫使我在我自己的类上使用int作为length-property,因为当你指定一个int值时,这需要显式地转换...

所以最终的问题是:对于unsigned int(uint)有什么用?甚至微软似乎也没有使用它们.

.net c# int uint

87
推荐指数
2
解决办法
1万
查看次数

为什么.NET在某些类中使用int而不是uint?

即使在框架类中,我总是遇到int用于.Count等等的代码而不是代码uint.

这是什么原因?

.net c#

50
推荐指数
3
解决办法
4505
查看次数

为什么.NET Framework不使用无符号数据类型?

可能重复:
为什么Array.Length是int,而不是uint

它背后有一个原因.NET Framework不使用无符号数据类型吗?

我不应该在我的代码中采用它们,但是例如,List <> 的Count属性是一个int.你不能有负数,所以为什么不把它定义为uint?即使我知道计数不能为负,我应该只使用int吗?

.net c# .net-4.0 .net-3.5

19
推荐指数
1
解决办法
9613
查看次数

为什么C#列表由signed int索引

我是C#的新手,我有一些C++和C的背景,这就是为什么我没有理解,为什么Lists <>被索引int而不是像一些无符号整数uint.这是非常不合逻辑的,因为不能有一个元素,即-1左右.

当以下代码无法运行时,会出现这种情况:

List<string> some_list = new List<string>();
/* Insert some strings */

for (uint i = 0; i < some_list.Count; ++i) {
    string element = some_lists[i]; // Error: No possible conversion from uint to int
    /* do something with string_element */
}
Run Code Online (Sandbox Code Playgroud)

在C++中,这会给我一个编译器警告,但仍然编译正常.那么C#在列表中使用有符号整数作为索引的原因是什么?这对我来说看起来不是很尖锐,但也许有人可以启发我.

c# list

7
推荐指数
0
解决办法
95
查看次数

为什么不经常使用无符号变量?

似乎无符号整数对方法参数和类成员非常有用,它们永远不应该是负数,但我没有看到很多人以这种方式编写代码.我自己尝试过,发现需要从int转换为uint有点烦人...

无论如何你对此有何想法?

重复

为什么Array Length是Int而不是UInt?

.net c#

5
推荐指数
2
解决办法
2033
查看次数

标签 统计

c# ×6

.net ×5

.net-3.5 ×1

.net-4.0 ×1

cls-compliant ×1

int ×1

list ×1

uint ×1

unsigned-integer ×1