2010-11-16 15 views
5

Merak ediyorum bir şey karşılaştığında bir ikili dosya ayrıştırma ile karıştırıyordum.Neden Stream.Position uzun bir

Stream.Position özelliği, Int64 veya long türüdür. Bu neden? Bir akıştaki konum negatif olamayacağından, UInt64'u kullanmak daha mantıklı olmaz mı?

Bu kişinin imzasız bir yerine uzun bir imzanın ne olduğunu biliyor mu?

+0

olası bir kopyası [Neden .NET, belirli sınıflarda uint yerine int kullanıyor?] (Http://stackoverflow.com/questions/782629/why-does-net-use-int-instead-of-uint- belirli sınıflarda) – dtb

+0

@dtb ya bunu okumak isteyebilir [http://blog.stackoverflow.com/2010/11/dr-strangedupe-or-how-i-learned-to-stop-worry -ve-love-duplication /) – Will

+1

Dtb bu bağlantı için teşekkürler çok benim için temizlendi. Aramalarımda bulamadım çünkü Stream sınıfına özgü bir şey olduğunu düşündüm. Diğer sınıfların da aynı * problemi olduğunu düşünmemiştim. –

cevap

10

UInt64 is not CLS Compatible ve BCL tüm sınıfları UInt64 CLS uyumlu değil neden

Asıl soru danışmanın olduğunu (en azından onların kamusal/korumalı şeyler) olması gerekir ve bu zaten asked and answered oldu :)

+0

Ah teşekkürler, bu çok kafa karıştırıcı olsa da oO –

+1

[Neden CLS'de imzasız türler yok] (http://blogs.msdn.com/b/brada/archive/2003/09/02/50285.aspx) – dtb

+0

Aah, aslında oldukça kolay ^^ Ben çok teşekkür ederim anlıyorum. CLS ile bir ilgisi olacağını hiç düşünmemiştim. –

İlgili konular