Aracılığıyla paylaş


Örtük ve Açık Dönüştürmeler (Visual Basic)

Bir kapalý dönüþtürme kaynak kodunda özel bir sözdizimi gerekli değildir.Aşağıdaki örnekte, Visual Basic değerinin örtülü olarak dönüştürür k atamak için önce bir tek duyarlıklı kayan noktalı değere q.

Dim k As Integer
Dim q As Double
' Integer widens to Double, so you can do this with Option Strict On.
k = 432
q = k

Bir açýk dönüþtürme türü dönüştürme anahtar sözcüðünü kullanýr.Visual Basicanahtar ifade parantez içinde istenen veri türüne işlenemiyor birkaç tür sözcükler sağlar.Bu anahtar sözcükler işlevleri gibi davranacak, ancak yürütme bir işlev çağrısı ile biraz daha hızlıdır, bu nedenle kodu satır içi derleyici oluşturur.

Önceki örnekte, aşağıdaki uzantısına CInt anahtar sözcük değeri dönüştürür q atamak için önce bir tamsayıya geri k.

' q had been assigned the value 432 from k.
q = Math.Sqrt(q)
k = CInt(q)
' k now has the value 21 (rounded square root of 432).

Dönüştürme anahtar sözcükler

Kullanılabilir dönüştürme anahtar sözcükler aşağıdaki tabloda gösterilmiştir.

Tür dönüştürme anahtar sözcük

Bir ifade veri türüne dönüştürür

Dönüştürülecek ifade izin verilen veri türleri

CBool

Boole Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere Byte, SByteve türleri numaralandırılan), String,Object

CByte

Byte Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere SByte ve türleri numaralandırılan), Boolean, String,Object

CChar

Char Veri Türü (Visual Basic)

String, Object

CDate

Date Veri Türü (Visual Basic)

String, Object

CDbl

Double Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere Byte, SByteve türleri numaralandırılan), Boolean, String,Object

CDec

Onluk Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere Byte, SByteve türleri numaralandırılan), Boolean, String,Object

CInt

Tamsayı Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere Byte, SByteve türleri numaralandırılan), Boolean, String,Object

CLng

Long Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere Byte, SByteve türleri numaralandırılan), Boolean, String,Object

CObj

Nesne Veri Türü

Her türlü

CSByte

SByte Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere Byte ve türleri numaralandırılan), Boolean, String,Object

CShort

Short Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere Byte, SByteve türleri numaralandırılan), Boolean, String,Object

CSng

Single Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere Byte, SByteve türleri numaralandırılan), Boolean, String,Object

CStr

Dize Veri Türü (Visual Basic)

Any numeric type (including Byte, SByte, and enumerated types), Boolean, Char, Char array, Date,Object

CType

Virgül aşağıdaki belirtilen türü (,)

Dönüştürme sırasında bir temel veri türü (bir birim türü bir dizi de dahil olmak üzere), aynı ilgili dönüştürme anahtar sözcük için izin verildiği gibi türleri

Dönüştürme sırasında bir Bileşik veri türü, bunu uygulayan arabirimleri ve devraldığı sınıfları

Bir sınıf veya yapı aşırı üzerinde dönüştürürken CType, o sınıf veya yapı

CUInt

UInteger Veri Türü

Herhangi bir sayısal tür (dahil olmak üzere Byte, SByteve türleri numaralandırılan), Boolean, String,Object

CULng

ULong Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere Byte, SByteve türleri numaralandırılan), Boolean, String,Object

CUShort

UShort Veri Türü (Visual Basic)

Herhangi bir sayısal tür (dahil olmak üzere Byte, SByteve türleri numaralandırılan), Boolean, String,Object

CType işlevi

CType İşlevi (Visual Basic) İki bağımsız çalışır.İlk ifade dönüştürülecek ve ikinci hedef veri türü veya nesne sınıfı.İlk bağımsız değişken bir ifade, bir tür olması gerektiğini unutmayın.

CTypeolan bir satır içi işlev, yani derlenmiş kod dönüştürme yapar, genellikle bir işlev oluşturmadan arayın.Bu, performansı artırır.

Bir karşılaştırma için CType diğer tür dönüştürme anahtar sözcükleriyle, bkz: DirectCast İşleci (Visual Basic) ve TryCast İşleci (Visual Basic).

Birim türleri

Aşağıdaki örnek kullanımını gösterir CType.

k = CType(q, Integer)
' The following statement coerces w to the specific object class Label.
f = CType(w, Label)

Bileşik türleri

Kullanabileceğiniz CType bileşik veri türleri de birim türleri için farklı değerler dönüştürmek.Aşağıdaki örnekte olduğu gibi arabirimlerinden birinin türü için nesne sınıfı birleşim için de kullanabilirsiniz.

' Assume class cZone implements interface iZone.
Dim h As Object
' The first argument to CType must be an expression, not a type.
Dim cZ As cZone
' The following statement coerces a cZone object to its interface iZone.
h = CType(cZ, iZone)

Dizi türleri

CTypeAşağıdaki örnekte olduğu gibi array veri türleri de dönüştürebilirsiniz.

Dim v() As classV
Dim obArray() As Object
' Assume some object array has been assigned to obArray.
' Check for run-time type compatibility.
If TypeOf obArray Is classV()
    ' obArray can be converted to classV.
    v = CType(obArray, classV())
End If

Daha fazla bilgi ve bir örnek için, bkz. Dizi Dönüştürmeleri (Visual Basic).

CType tanımlama türleri

Tanımlayabileceğiniz CType bir sınıf veya yapı tanımladığınız.Bu değerleri için ve sınıf veya yapı türünü dönüştürmenize olanak sağlar.Daha fazla bilgi ve bir örnek için, bkz. Nasıl yapılır: Bir Dönüşüm İşleci Tanımlama (Visual Basic).

[!NOT]

Bir hata oluşursa veya dönüştürme anahtar sözcüğü ile kullanılan değerleri hedef veri türü için geçerli olmalıdır.Örneğin dönüştürmeye çalışırsanız, bir Long için bir Integer, değeri Long için geçerli aralık içinde olmalıdır Integer veri türü.

Uyarı notuUyarı

Belirtme CType kaynak türü hedef türünden almıyor, bir sınıf türünden başka bir başarısız zamanında dönüştürmek için.Böyle bir hata oluşturduğunda bir InvalidCastException özel durum.

Ancak, türlerinden bir yapı ya da sınıf tanımladığınız ise ve tanımladığınız CType gereksinimlerini karşılamazsa, yapı veya sınıf, bir dönüştürme başarabilir, CType.Bkz: Nasıl yapılır: Bir Dönüşüm İşleci Tanımlama (Visual Basic)

Açık bir dönüştürme işlemi olarak da bilinen olan çevrim belirtilen veri türü veya nesne sınıfı için bir ifade.

Ayrıca bkz.

Görevler

Nasıl yapılır: Visual Basic'te Bir Nesneyi Başka Bir Türe Dönüştürme

Veri Türleri Sorunlarını Giderme (Visual Basic)

Başvuru

Veri Türü Özeti (Visual Basic)

Tür Dönüştürme İşlevleri (Visual Basic)

Kavramlar

Dizeler ve Diğer Türleri Arasında Dönüştürmeler (Visual Basic)

Diğer Kaynaklar

Visual Basic'de Tür Dönüştürmeleri

Yapılar (Visual Basic)