Exerciții - Finalizați o activitate de provocare utilizând instrucțiuni de comutare

Finalizat

Provocările legate de cod vor consolida ceea ce ați învățat și vă vor ajuta să obțineți o oarecare încredere înainte de a continua.

Conversia la provocarea de comutare între instrucțiuni

În această provocare, veți rescrie o if-elseif-else construcție ca switch instrucțiune. Această provocare ar trebui să vă ajute să vedeți punctele tari/punctele slabe ale declarației switch în comparație cu o if-elseif-else construcție. Noroc.

Provocarea codului: rescriere dacă-else-else utilizând o instrucțiune de comutare

Veți începe cu codul care utilizează o if-elseif-else construcție pentru a evalua componentele unui SKU de produs. SKU-ul (Unitate de păstrare a acțiunilor) este formatat utilizând trei valori codate: <product #>-<2-letter color code>-<size code>. De exemplu, o valoare SKU de 01-MN-L corespunde (tricou pulover)-(maroon)-(mare), iar codul afișează o descriere care apare ca "Produs: tricou maroon mare".

Provocarea dvs. este să efectuați conversia codului de if instrucțiune într-o switch declarație care obține același rezultat ca codul inițial.

  1. Asigurați-vă că aveți un fișier Program.cs gol deschis în Visual Studio Code.

    Dacă este necesar, deschideți Visual Studio Code, apoi parcurgeți pașii următori pentru a pregăti un fișier Program.cs în Editor:

    1. În meniul Fișier , selectați Deschidere folder.

    2. Utilizați caseta de dialog Deschidere folder pentru a naviga la, apoi deschideți folderul CsharpProjects .

    3. În panoul Visual Studio Code EXPLORER, selectați Program.cs.

    4. În meniul Selectare cod Visual Studio, selectați Selectare totală, apoi apăsați tasta Delete.

  2. Introduceți următorul cod în Visual Studio Code Editor:

    // SKU = Stock Keeping Unit. 
    // SKU value format: <product #>-<2-letter color code>-<size code>
    string sku = "01-MN-L";
    
    string[] product = sku.Split('-');
    
    string type = "";
    string color = "";
    string size = "";
    
    if (product[0] == "01")
    {
        type = "Sweat shirt";
    } else if (product[0] == "02")
    {
        type = "T-Shirt";
    } else if (product[0] == "03")
    {
        type = "Sweat pants";
    }
    else
    {
        type = "Other";
    }
    
    if (product[1] == "BL")
    {
        color = "Black";
    } else if (product[1] == "MN")
    {
        color = "Maroon";
    } else
    {
        color = "White";
    }
    
    if (product[2] == "S")
    {
        size = "Small";
    } else if (product[2] == "M")
    {
        size = "Medium";
    } else if (product[2] == "L")
    {
        size = "Large";
    } else
    {
        size = "One Size Fits All";
    }
    
    Console.WriteLine($"Product: {size} {color} {type}");
    
  3. Actualizați codul pentru a utiliza o switch instrucțiune în locul construcției if-elseif-else .

  4. Verificați dacă ieșirea nu s-a modificat.

    Indiferent cum procedați, codul dvs. ar trebui să producă următoarea ieșire:

    Product: Large Maroon Sweat shirt
    

Fie că vă blocați și trebuie să examinați soluția sau terminați cu succes, continuați să vizualizați o soluție la această provocare.