Timo Willemsen
Timo Willemsen

Reputation: 8857

Why is the Stream.Position a long

I'm was messing around with some parsing of a binary file when I came across something I was wondering about.

The Stream.Positionproperty is of the type Int64or long. Why is this? Shouldn't it make more sense to use a UInt64 since the position in a stream can't be negative?

Anyone know what's the use of this being a signed long instead of an unsigned one?

Upvotes: 5

Views: 598

Answers (1)

Michael Stum
Michael Stum

Reputation: 180994

UInt64 is not CLS Compatible, and all classes in the BCL need to be (at least on their public/protected stuff)

The real question is of couse why UInt64 isn't CLS Compatible, and that was already asked and answered :)

Upvotes: 10

Related Questions