Aracılığıyla paylaş


C# ve F# ifadelerde

Yönetilen ifade değerlendirici C# ile yazılmış olan çoğu ifadeleri kabul eder.

Yönetilen ifade değerlendirici F# ifadeler, ancak tanımıyor.Hata F# ayıklaması yaptığınız, deyimleri hata ayıklama penceresi veya iletişim kutusu girmeden önce C# sözdizimi ifadelere çevirmek gerekir.F# gelen ifadeler için C# çevirmek, C# kullandığı sakın unutmayın == işlecini F# kullanırken tek = eşitlik için test etmek.

Aşağıdaki bölümlerde, özel bilgiler sunar ve bazı desteklenen veya kısmen desteklenen ifade türleri açıklanmıştır:

  • Casts

  • Dynamic Objects

  • Identifiers and Types

  • Method Evaluation

  • Operators

  • Overloaded Operators

  • Property Evaluation

  • Strings

  • typeof and sizeof Operators

  • WebMethods

  • İfade değerlendirici yoksayar public, protected, internal, ve private erişim değiştiricileri.Arayabileceğiniz bir private yönteminin İzle penceresinde, örneğin.Erişim değiştiricileri ifade değerlendirici yoksayar çünkü beklenmeyen bir yük çağrılacak mümkündür.

Yürütülen kod güvenli veya güvenli olup olmadığını ifade değerlendirici örtülü güvensiz bir bağlamda, tüm değerlendirmeleri gerçekleştirir.

İfade değerlendirici checked blokları da yoksayar ve /checked derleyici seçeneği.Tüm ifadeler denetlenmeyen bir bağlamda değerlendirilir.

Görüntü öznitelikleri kullanarak özel veri türlerini özelleştirebilirsiniz.Daha fazla bilgi için bkz: Özel veri türlerini görüntüleme.

Yayınları

Basit atama ifadeleri hata ayıklayıcıda çalışır:

(A)x

Hata ayıklayıcıda işaretçiler içeren yayınları çalışmaz.

Dinamik nesneleri

Dinamik olarak yazılan statik değişkenler ifade değerlendirici değerlendirebilirsiniz.Ayrıca, IDynamicObject arabirimini uygulayan nesneler de değerlendirebilir.Ne zaman IDynamicObject arabirimini uygulayan nesnelerinin değerlendirilir İzle penceresinde, dinamik bir düğüm eklenir görüntüleyin.Dinamik görünüm düğüm nesnesi üyeleri gösterir, ancak üye değerlerinin düzenlenmesine izin vermez.

Dinamik nesneleri aşağıdaki özellikler desteklenmez:

  • Bileþik iþleçler +=,-=, % = / =, ve * =

  • Sayısal yayınları ve tür bağımsız değişkeni yayınları da dahil olmak üzere birçok yayınları

  • İkiden fazla argüman yöntem çağrıları

  • İkiden fazla argüman özelliği alıcılar

  • Bağımsız değişken özellik ayarlayıcılar

  • Bir dizinleyici atama

  • Boolean İşleçleri && ve||

Tanımlayıcılar ve türleri

Hata ayıklayıcı ifadeleri, geçerli kapsam içinde görünen herhangi bir tanımlayıcı kullanabilirsiniz.Hata ayıklayıcı yönteminde durdurulursa, Magh, örneğin, içinde görünen herhangi bir tanımlayıcıyı kullanabilirsiniz Magh, sabit, değişken adları ve yöntem adları.

Hata ayıklayıcı, primitive, enum veya geçerli bir tür değişken düzgün görüntülenir.Sınıf türündeki değişkenler için hata ayıklayıcı doğru türetilmiş çoğu türüne göre görüntüler.Bir nesne varsa, leo türü Lion, türünden türetilmiş Cat, değerlendirilmesi için leo.Claws ve doğru değer türünde bir nesne Lion.

L değeri sol ifade için yeni bir değer atayabilirsiniz.Bu temel, sınıfını içerir ve System.Object türleri.

Değerlendirme yöntemi

Hata ayıklayıcı değerlendirme yöntemlerini, yöntemler de dahil olmak üzere destekler.Bu nedenle, aşağıdaki ifadeler girebilirsiniz ve hata ayıklayıcı yöntemler doğru sürümünü çağırır:

Time.Set();
Time.Set(atime);

Hata Ayıklayıcı'daki bir yöntem değerlendirme gerçekten çağırır ve bu yöntem için kod çalıştırır.Yöntemi yan etkileri varsa, hata ayıklayıcısı penceresinin yönteminde değerlendirme beklenmeyen sonuçlara yol açabilir programınızın durumunu değiştirin.

Aşırı yüklü bir yöntem üzerinde kesme noktası ayarlamak, kesme konumunu yöntemi belirtin nasıl bağlıdır.Tam imza (yöntem adı ve tam bağımsız değişken listesi) belirtirseniz, hata ayıklayıcı üzerinde belirtilen aşırı bir kesme noktası ayarlar.Yöntem adı belirtirseniz, hata ayıklayıcı'nın davranışını bağlıdır bir Visual Studio Seçenekleri ayarı.Kullanımı işlevin adını doğrulamak için IntelliSense onay kutusu seçili değilse, hata ayıklayıcı üzerinde yöntem adının her aşırı bir kesme noktası olacaktır.Aksi halde Kesme noktası seçin iletişim kutusu açılır, hangi kesme koymak için overload(s) belirtmek olanak sağlar.Daha fazla bilgi için bkz. Nasıl yapılır: bir işlev kesme noktası ayarlamak.

Yeni Adsýz yöntemler oluşturulmasını hata ayıklayıcı bu sürümünde desteklenmiyor Visual Studio.

İşleçler

Hata ayıklayıcı dahil en yerleşik operatörler doğru değerlendirir:

  • Relational and equality operators: ( expr1> expr2, expr1< expr2, expr1<= expr2, expr1=> expr2, expr1== expr2, expr1!= expr2).

  • Boolean operators: (expr1&& expr2, expr1|| expr2, expr1? expr2: expr3).

  • Arithmetical operators: (expr1+ expr2,expr1- expr2, expr1* expr2, expr1/ expr2, expr1% expr2 ).

  • Logical operators: (expr1& expr2, expr1^ expr2, expr1| Deyim2 ).

  • Shift operators: (expr1>> expr2, expr1<< expr2 ).

  • Assignment operators: ( lvalue= expr2,lvalue*= expr2,lvalue/= expr2, lvalue%= expr2, lvalue+= expr2, lvalue-= expr2, lvalue<<= expr2, lvalue>>= expr2, lvalue&= expr2, lvalue^= expr2, lvalue|= expr2).

  • Unary operators: ( +expr1, - expr1, expr1++, ++expr1, expr1--, --expr1).

Yüklenmiş İşleçler

Hata ayıklayıcıda en aþýrý yüklenmiþ Ýþleçler çalışır.

Aşırı iç işleçleri +, -, /, ve & İş:

  • Deyim1+ Deyim2

  • Deyim1- Deyim2

  • Deyim1/ Deyim2

  • Deyim1% Deyim2

  • Deyim1& Deyim2

Aşırı iç işleçleri = & & &, ve ||, işe yaramazsa:

  • Deyim1= Deyim2

  • Deyim1&& Deyim2

  • Deyim1& Deyim2

  • Deyim1|| Deyim2

Aşırı iç işleçleri << ve >> Her iki işlenen sınıf değişkenleri olursa çalışmaz:

  • object1 <<object2

  • object1>> object2

Önek operatörleri aşırı +, -, ++,--,!, ve ~ çalışır:

  • +Deyim1

  • -Deyim1

  • ++Deyim1

  • --Deyim1

  • !Deyim1

  • ~Deyim1

Sonek operatörleri aşırı ++ ve--çalışabilirsiniz:

  • Deyim1++

  • Deyim1--

Aşırı yüklü dizinleyiciler çalışır:

  • Deyim1[Deyim2]

Özellik değerlendirme

Özellikler penceresinde değişken hata ayıklayıcı değerlendirir.Ancak, hata ayıklayıcı özelliğinde değerlendirirken, beklenmedik ve istenmeyen sonuçlar yan etkileri olabilir.Tarafından yanlışlıkla değerlendirme neden yan etkilere karşı korumak için Özellik değerlendirmeyi de devre dışı bırakabilirsiniz seçenekleri iletişim kutusu.

Dizeleri

Dizilerin yanı sıra, dizeleri ile kullanıldığında hata ayıklayıcı dizinlenmiş işleci tanır.Bu nedenle, örneğin, girebilirsiniz:

"hello world"[0]

İzle pencere doğru değeri görüntüler:

'h'

C# ' ta doğal c/C++, tersine, hata ayıklayıcı'daki bir dize değerini düzenleyebilirsiniz.Buna ek olarak, kullanmak Length dizesini işleci:

mystring.Length 

-veya-

"hello world".Length

C# dizeleri bitiştirmek:

"hello" + "world"

typeof ve sizeof işleçleri

Hata Ayıklayıcı'yı destekleyen typeof ve sizeof tarafından eşdeğer dönüştürme işleci .NET Framework işlevi.

typeof ( ifade)

içine dönüştürülür:

System.Type.GetType( ifade)

Hata ayıklayıcı, sonra bu dönüştürülmüş deyimi değerlendirir.

Hata Ayıklayıcı'yı destekleyen sizeof işleci.

Donmaları

Windows hata ayıklayıcıdan donmaları çağrılamıyor.

Ayrıca bkz.

Diğer Kaynaklar

Hata Ayıklayıcı'daki ifadeler

C# Başvurusu