Seçenek açık ve Visual Basic .NET ve Visual Basic Strict seçeneği

Özet

Bu makalede, iki seçenek deyimleri açıklar:
  • Katı seçeneği
  • Seçenek açık
Option Strict yeni Microsoft Visual Basic .NET, Microsoft Visual Basic 2005 ve sonraki sürümlerinde Visual Basic. Option Explicit Visual Basic önceki sürümlerinde kullanılabilir.

Daha fazla bilgi

Seçenek Belirtik deyimi

Varsayılan olarak, Visual Basic .NET ya da Visual Basic Derleyicisi kullanmadan önce her değişken bildirip gerektirir açık Değişken bildiriminde zorlar. Bu varsayılan davranışı değiştirmek için bkz:
Bölümü varsayılan değerleri değiştirin .

Option Strict deyimi

Varsayılan olarak, Visual Basic .NET veya Visual Basic derleyici katı veri yazmaya zorunlu kılmaz. Bu varsayılan davranışı değiştirmek için bkz:
Bölümü varsayılan değerleri değiştirin .

Option Strict yalnızca dönüştürmesi için örtülü veri türü dönüşümlerinin kısıtlar. Genişleme dönüştürmelerine hangi veri kaybına neden olabilir, herhangi bir veri türü dönüşümlerinin ve dizelerin sayısal türler arasındaki herhangi bir dönüştürme vermez. Genişletme dönüştürmesi hakkında daha fazla bilgi için bkz.
Genişletme dönüştürme bölümüne.

Option Strict ifade kullandığınızda, deyim önce başka bir kod gerekir. Visual Basic .NET ile genellikle herhangi bir veri türü için başka bir veri türü örtülü olarak dönüştürebilirsiniz. Daha az duyarlık veya daha küçük bir kapasite ile bir veri türü için bir veri türü değeri dönüştürüldüğünde, veri kaybı oluşabilir. Böyle bir dönüşümü, veri kaybolur, ancak çalışma zamanı hata iletisi alırsınız. Bunları engellemek için Option Strict , bu tür dönüşümler derleme zamanında bildirir.

Option Strict de bir hata iletisi aşağıdaki senaryolarda oluşturur:
  • Bildirilmemiş hiçbir deðiþken. Option Strict da Option Explicitanlamına gelir çünkü.
  • Geç bağlama.

Genişletme dönüştürmesi

Genişletme dönüştürmesi standart aşağıdaki tabloda listelenmektedir.

Veri türüVeri türleri ile widens
BaytBayt, kısa, Tamsayı, uzun, ondalık, tek, çift
KısaKısa, Tamsayı, uzun, ondalık, tek, çift
TamsayıTamsayı, uzun, ondalık, tek, çift
UzunUzun, ondalık, tek, çift
OndalıkOndalık, tek, çift
TekTek, çift
ÇiftÇift
Herhangi bir enum türüTemel tamsayı türünü ve genişletmek herhangi bir tür
CharChar, String
Herhangi bir türNesne, bunu uygulayan herhangi bir arabirimi
Türetilmiş bir türOnu türetildiği tüm temel tür
Hiçbir şeyHerhangi bir veri türü veya nesne türü

Aşağıdaki dönüştürme duyarlık kaybedebilirsiniz:
  • Tek Tamsayı
  • Uzun tek veya çift
  • Ondalık tek veya çift
Ancak, bu dönüştürmeler bilgi veya büyüklük kaybetmez.

Genişleme dönüştürmelerine her zaman başarılı ve her zaman dönüştürmelerine örtülü olarak gerçekleştirebilir.

Açık dönüştürme işlemine atama

Açık bir dönüştürme türü dönüştürme anahtar kullanır. Visual Basic .NET ya da Visual Basic 2005 istediğiniz veri türüne parantez içinde bir ifade coerce birkaç gibi anahtar sözcükler sağlar. Bu anahtar sözcükler işlevler gibi davranırlar fakat aynı kod satır içi derleme oluşturur. Bu nedenle, yürütme açık dönüştürme işlev çağrısı ile birlikte biraz daha hızlı olur.

Aşağıdaki tablo kullanılabilir dönüştürme anahtar sözcükleri listeler.
Tür dönüştürme anahtar sözcüğüİfade dönüştürür
Veri türü için
İzin verilen veri türleri dönüştürülecek ifade
CBoolBoole değeri( Bayt ve numaralandırılmış türler dahil), herhangi bir sayısal tür dize, Nesne
CByteBaytHerhangi bir sayısal tür herhangi numaralandırılmış, Boolean, dize, Nesne türü
CCharCharDize, Nesne
CDateTarihDize, Nesne
CDblÇiftHerhangi bir sayısal tür ( bayt ve numaralandırılmış türler dahil), Boolean, dize, Nesne
CDecOndalıkHerhangi bir sayısal tür ( bayt ve numaralandırılmış türler dahil), Boolean, dize, Nesne
CIntTamsayıHerhangi bir sayısal tür ( bayt ve numaralandırılmış türler dahil), Boolean, dize, Nesne
CLngUzunHerhangi bir sayısal tür ( bayt ve numaralandırılmış türler dahil), Boolean, dize, Nesne
CObjNesneHerhangi bir tür
CShortKısaHerhangi bir sayısal tür ( bayt ve numaralandırılmış türler dahil), Boolean, dize, Nesne
CSngTekHerhangi bir sayısal tür ( bayt ve numaralandırılmış türler dahil), Boolean, dize, Nesne
CStrDizeHerhangi bir sayısal tür (dahil bayt), Boolean, Char, dizi Char, Tarih, Nesne
CTypeVirgül (,) izleyerek belirtilen türü(Bir temel türünde bir dizi de dahil olmak üzere), bir temel türü aynı türlerine karşılık gelen dönüştürme anahtar sözcüğü buldukça dönüştürdüğünüzde.

Bileşik tür, bunu uygulayan arabirimler ve devraldığı sınıfları dönüştürdüğünüzde.

Varsayılan proje değerlerini değiştirme

Option Explicit ve Option Strictvarsayılan değerleri değiştirebilirsiniz. Visual Basic .NET kullanarak yeni bir uygulama oluşturduğunuzda, örneğin, Visual Basic 2005 veya Visual Basic 2008 ' in değeri Option Explicit üzerindeayarlanır. Kapatmakiçin bu varsayılan değerini değiştirebilirsiniz.

Option Explicit ve Option Strict Visual Basic .NET'te varsayılan değerlerini değiştirmek için Seçenekler iletişim kutusunu açmak için Araçlar menüsünde Seçenekler ' i tıklatın. Ardından, Option Explicit ve Option Strict VB Varsayılanları bölümünde Projeler ve çözümleriçin varsayılan değerleri değiştirin.

Option Explicit ve Option Strict Visual Studio varsayılan değerlerini değiştirmek için Seçenekler iletişim kutusunu açmak için Araçlar menüsünde Seçenekler ' i tıklatın. Ardından, Option Explicit ve Option Strict VB Varsayılanları bölümünde Projeler ve çözümleriçin varsayılan değerleri değiştirin.
Özellikler

Makale No: 311329 - Son İnceleme: 24 Şub 2017 - Düzeltme: 1

Geri bildirim