2011-03-01 26 views
21

switch documentation okudu ve sadece bir tanım aramaya koyuldular ayrılmaz türleri üzerinde geçiş yapabilirsiniz keşfetmek olması. Ben hiçbir yerde bulamıyorum. Sadece find a list of integral types yapabilirim.İntegral Türleri tam olarak nedir?

Ben ayrılmaz türleri dile entegre türleri olduğu tahmin yürütebilirim ancak uygun bir tanım daha mutlu olurdu. Kimse var mı?

+0

Değil dile entegre edilmiştir tüm türleri (... System.Type, nesne) ayrılmaz bir parçasıdır. Temel olarak bir tür integral tipler listesinde yer alıyorsa - tatolojik bir tanım, ancak yine de doğrudur. – SWeko

+0

@SWeko: Bu bağlamda [integral] (http://wordnetweb.princeton.edu/perl/webwn?s=integral), "yerleşik" değil "bir tamsayı" anlamına gelir. – configurator

+0

@configurator: evet, ve tam olarak yorumda söylediklerim bu. – SWeko

cevap

25

"Integral" tamsayı tip (diğer bir deyişle tam sayılar) karşılık gelir.

Aşağıdaki tablo, basit tip bir alt kümesini oluşturan yekpare türleri, boyutları ve dağılımını göstermektedir: C# bu gibi int, long, short,

gibi türleri Integral Types Table (C# Reference) bakınız anlamına gelir.

Düzenleme: switch deyimi de edebi dizeleri desteklediğini unutmayın.

+2

bu cevabı söyleyebilir misiniz? –

+1

Bir anahtar ifadesinde doğru/yanlış için nasıl test edebilirim? Ne integral ne de bir dizgi gibi görünüyor ve bunun için örtük bir dönüşüm yok. –

+0

@ m.edmondson: Sorunu anladığımdan emin değilim. Bir türün yürütme süresinde integral olup olmadığını test etmeye mi çalışıyorsunuz? –

8

Çalıştığınız belgeler 2003 yılında yazılmıştır ve dilin en son sürümü için güncel değildir. 2003 belgelerinin arşivini incelemeyi ve daha modern bir C# sürümünü kullanıyorsanız, 2010 belgelerini okumanızı tavsiye ederim.

Sorunuzu yanıtlayan kesin referans, burada size kolaylık sağlamak için ürettiğim C# belirtim bölümü 8.7.2'dir.


bir switch ifadesinin yöneten tip şalter ifadeye göre kurulmuştur.

• anahtarı ifadesinin tipi sbyte, bayt, kısa, ushort, int, uint, uzun, ulong, bool, Char, string veya bir enum tipi, ise ya da bulunması bu türlerden birine karşılık gelen nullable türünü, sonra anahtar deyiminin yönetim türüdür.

Aksi takdirde, • tam olarak bir kullanıcı tanımlı örtülü dönüşüm aşağıdaki olası yönetim türlerinden biri geçiş ekspresyonunun türünden bulunması gerekir: sbyte, bayt, kısa, USHORT, int, uint uzun, ulong, char, string, veya 'a karşılık gelen bir null tipidir.

böyle bir kapalı dönüştürme mevcut Aksi takdirde •

, veya bu tür birden fazla kapalı dönüşüm varsa, hata meydana gelen bir derleme.