2011-05-21 18 views
5

Eğer full_name bir string uzunluğuna sahipse, full_name adında bir değişkenim var:> 5 tam_name'ın ilk 4 karakterine nm ayarlamak istiyorum, aksi takdirde nm tam karakterin tüm karakterlerine ayarlamak istiyorum.Şaşkın? işleci C#

var nm; 

if (full_name.Length > 5) 
{ 
    nm = full_name.Substring(0, 4); 
} 
else 
{ 
    nm = full_name; 
}; 

Tamamen "?" Ile kafam karıştı. Şebeke.

Bunun için kullanabilir miyim?

+3

BTW adıyla "Koşul operatörü" –

+0

ya da bazen "üçlü operatörü" (biraz yanlış) http://en.wikipedia.org/wiki/Ternary_operation – yas4891

+0

@ yas4891 Evet olduğunu genellikle '' '' '' '' '' '' '' 'bir ikili operatörün çağrılması gibidir '' anlamına gelir. Bu sadece imzayı anlatır, ama niyetini belirtmez. Şimdi ... Örnek olarak hareket etmek için birkaç tane daha üçlü operatöre ihtiyacımız var ... –

cevap

14
var nm = full_name.Length > 5 ? full_name.Substring(0, 4) : full_name; 
+0

JudyJ: Marc'ın (tam anlamıyla!) Çözdüğü gibi başka bir açıklamaya gerek yok, ancak bu makaleyi tamamen akademik bir bakış açısından MSDN'de okuyabilirsiniz. http://msdn.microsoft.com/en-us/library/ty67wk28(v=VS.100).aspx – Kanini

İlgili konular