Бұл код жолын біреу түсіндіре ала ма?

int salesTeamId = person == null ? -1 : person.SalesTeam.Id;

Бірге бөле алатынымнан:

  1. int SalesTeamId - айнымалы және адам айнымалыға тағайындалады.

Осыдан кейін мен жоғалттым. Кез келген нұсқаулық?

6

7 жауаптар

Бұл үштен бір өтініш. Мен оны оқуға арналған if/else блогына аударамын.

int salesTeamId;

if(person == null)
{
   salesTeamId = -1;
}
else
{
   salesTeamId = person.SalesTeam.Id;
}
12
қосылды
@Dylan: жіберіп алғандарыңызға рахмет .Сертификаттың сілтемесі
қосылды автор Akron, көзі

Бұл Үштік оператор . Бұл if операторына келесідей теңшелім:

int salesTeamId;
if( person == null )
{
    salesTeamId = -1;
}
else
{
    salesTeamId = person.SalesTeam.Id;
}
8
қосылды

Бұл дегеніміз,

int salesTeamId;

if (person == null) 
   salesTeamId = -1;
 else 
   salesTeamId = person.SalesTeam.Id;
4
қосылды

Ол шартты операторы деп аталады.

Шартты оператор (? :) - үш жақты оператор   операндтар). Шартты оператор келесідей жұмыс істейді:

     
      
  • Алғашқы операнд толықтай боула түрлендірілген. Ол бағаланады және   барлық жанама әсерлер жалғаспастан аяқталады.
  •   
  • Бірінші операнд болса   шындыққа бағаланады (1), екінші операнда бағаланады.
  •   
  • Егер бірінші болса   operand false (0) мәніне бағынады, ал үшінші операнда бағаланады.
  •   

Сіздің мысалыңыз осы кодқа сәйкес келеді:

int salesTeamId;
if (person == null)
{
   salesTeamId = -1;
}
else
{
   salesTeamId = person.SalesTeam.Id;
}
3
қосылды

Оның тұжырымдамасы if операторы (үш жақты оператор деп аталады).

Бастапқыда оның нөлге тең екендігін тексеру, қайтару -1 басқа адамға қайтарады.SalesTeam.id. Қайтар- мағына қайтару мағынасы тікелей сатылымTeamId айнымалысына тағайындалады.

int salesTeamId;
if(person == null)
{
salesTeamId = -1;
}
else
{
salesTeamId = person.SalesTeam.Id
}

тікелей балама болып табылады

2
қосылды

Бұл балама

int salesTeamId;
if (person == null)
    salesTeamId = -1;
else
    salesTeamId = person.SalesTeam.Id;

Check ?: Operator (C#)

2
қосылды

Егер адам бос болса, SalesTeamId тағайындалады -1. Егер адам null бос болса, SalesTeamId тағайындалады person.SalesTeam.Id.

Үшінші оператор - бір жолға енгізілген «if-then-else» сөзі (әдетте бірнеше желілер арқылы таралуы мүмкін, бірақ бұл нүктені біршама азайтады).

Кейбір жақшаларды қосу үшін нәрселерді анықтай алады:

int salesTeamId = (person == null ? -1 : person.SalesTeam.Id);

Келесі псевдокоде көмектеседі:

int salesTeamId = (IF person == null THEN USE -1 ELSE USE person.SalesTeam.Id );
1
қосылды