«switch-statement» etiketlenmiş sorular

Bilgisayar programlamasında, bir switch, case, select veya inspect ifadesi, değişken içeriğe dayalı olarak belirli kod bloklarını çağırmak için kullanılan bir seçim kontrol mekanizması türüdür.

3
var / null garip davranışla değiştir
Aşağıdaki kod verildiğinde: string someString = null; switch (someString) { case string s: Console.WriteLine("string s"); break; case var o: Console.WriteLine("var o"); break; default: Console.WriteLine("default"); break; } Switch ifadesi neden eşleşiyor case var o? Benim anlayışıma göre case string s, s == null(etkili) (null as string) != nullyanlış olarak değerlendirildiğinde eşleşmiyor …

7
Bir switch ifadesinde Continue kullanma
switchAşağıdaki kodda bir ifadenin ortasından döngü ifadesine atlamak istiyorum : while (something = get_something()) { switch (something) { case A: case B: break; default: // get another something and try again continue; } // do something for a handled something do_something(); } Bu geçerli bir kullanım yolu continuemu? Are continuetarafından …

14
Bir maksimum değeri aşmadan bir değişkeni nasıl artırabilirim?
Okul için basit bir video oyun programı üzerinde çalışıyorum ve bu yöntem çağrılırsa oyuncunun 15 sağlık puanı alacağı bir yöntem geliştirdim. Sağlığı maksimum 100'de tutmalıyım ve bu noktada sınırlı programlama yeteneğimle böyle bir şey yapıyorum. public void getHealed(){ if(health <= 85) health += 15; else if(health == 86) health += …

2
Bir Ruby geçiş ifadesi (case… when) regex ve backreferences ile nasıl yazılır?
Normal ifadelerle eşleşmeyi kontrol etmek için bir Ruby vaka ifadesi yazabileceğimi biliyorum. Bununla birlikte, maç verilerini iade bildirimimde kullanmak istiyorum. Bu yarı sözde kod gibi bir şey: foo = "10/10/2011" case foo when /^([0-9][0-9])/ print "the month is #{match[1]}" else print "something else" end Bunu nasıl başarabilirim? Teşekkürler! Sadece bir …


1
[[Fallthrough]] kullandığım halde GCC neden beni bir düşüş hakkında uyarıyor?
Aşağıdaki kod parçasında, [[fallthrough]]bir düşüşün istendiğini belgelemek için C ++ 1z'den standart niteliği kullanıyorum : #include <iostream> int main() { switch (0) { case 0: std::cout << "a\n"; [[fallthrough]] case 1: std::cout << "b\n"; break; } } GCC 7.1 ile kod hatasız derlenir. Bununla birlikte, derleyici hala bir sonuç hakkında …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.