Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Genişletme dönüştürmesi, bir tür değeri eşit veya daha büyük boyutta başka bir türe dönüştürüldüğünde gerçekleşir. Bir tür değeri daha küçük boyutlu başka bir türde bir değere dönüştürüldüğünde daraltma dönüştürmesi gerçekleşir. Bu konudaki tablolarda her iki dönüştürme türü tarafından sergilenen davranışlar gösterilmektedir.
Dönüştürmeleri genişletme
Aşağıdaki tabloda, bilgi kaybı olmadan gerçekleştirilebilecek genişletme dönüştürmeleri açıklanmaktadır.
| Tür | Veri kaybı olmadan dönüştürülebilir |
|---|---|
| Byte | UInt16, Int16, UInt32, , Int32, UInt64, Int64, Single, Double, Decimal |
| SByte | Int16, Int32, Int64, , Single, Double, Decimal |
| Int16 | Int32, Int64, Single, Double, , Decimal |
| UInt16 | UInt32, Int32, UInt64, , Int64, Single, Double, Decimal |
| Char | UInt16, UInt32, Int32, , UInt64, Int64, Single, Double, Decimal |
| Int32 | Int64, Double, Decimal |
| UInt32 | Int64, UInt64, Double, Decimal |
| Int64 | Decimal |
| UInt64 | Decimal |
| Single | Double |
bazı genişletme dönüştürmeleri Single veya Double duyarlık kaybına neden olabilir. Aşağıdaki tabloda, bazen bilgi kaybına neden olan genişletme dönüştürmeleri açıklanmaktadır.
| Tür | Dönüştürülebilir |
|---|---|
| Int32 | Single |
| UInt32 | Single |
| Int64 | Single, Double |
| UInt64 | Single, Double |
| Decimal | Single, Double |
Dönüştürmeleri daraltma
veya için daraltma dönüştürmesi SingleDouble bilgi kaybına neden olabilir. Hedef tür kaynağın büyüklüğünü düzgün şekilde ifade edemiyorsa, sonuçta elde edilen tür veya NegativeInfinitysabitine PositiveInfinity ayarlanır. PositiveInfinitypozitif bir sayıyı sıfıra bölmenin sonucudur ve veya Double değeri alanın değerini SingleMaxValue aştığında da döndürülür. NegativeInfinitynegatif bir sayıyı sıfıra bölmenin sonucudur ve veya Double değeri alanın değerinin Single altına düştüğünde MinValue de döndürülür. 'den bir'e DoubleSingle dönüştürme işlemi veya NegativeInfinityile PositiveInfinity sonuçlanabilir.
Daraltma dönüştürmesi, diğer veri türleri için bilgi kaybına da neden olabilir. Ancak, dönüştürülen bir türün değeri hedef türün ve MinValue alanları tarafından belirtilen aralığın dışında kalırsa ve hedef türün MaxValue değerinin veya MinValuedeğerini aşmadığından MaxValue emin olmak için dönüştürme çalışma zamanı tarafından denetlenirse bir OverflowException oluşturulur. sınıfıyla System.Convert gerçekleştirilen dönüştürmeler her zaman bu şekilde denetlenmektedir.
Aşağıdaki tabloda, dönüştürülmekte olan türün değeri sonuçta elde edilen türün tanımlı aralığının dışındaysa, bir using System.Convert veya herhangi bir OverflowException işaretli dönüştürme oluşturan dönüştürmeler listelenmektedir.
| Tür | Dönüştürülebilir |
|---|---|
| Byte | SByte |
| SByte | Byte, UInt16, UInt32, UInt64 |
| Int16 | Byte, SByte, UInt16 |
| UInt16 | Byte, SByte, Int16 |
| Int32 | Byte, SByte, Int16, UInt16, ,UInt32 |
| UInt32 | Byte, SByte, Int16, UInt16, , Int32 |
| Int64 | Byte, , SByteInt16, UInt16, Int32,UInt32,UInt64 |
| UInt64 | Byte, SByte, Int16, , UInt16, Int32, UInt32, Int64 |
| Decimal | Byte, SByte, Int16, , UInt16, Int32, UInt32, Int64, UInt64 |
| Single | Byte, SByte, Int16, , UInt16, Int32, UInt32, Int64, UInt64 |
| Double | Byte, SByte, Int16, , UInt16, Int32, UInt32, Int64, UInt64 |