webForumDet fria alternativet

Kan inte bestämma mig vilken kod som är bäst

.NET

1 svar · 661 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Jag har en frågesport på min hemsida som jag försöker att förändra/förbättra.
Just nu så vet jag inte om jag gör den bättre eller sämmre.
Gammal kod:

        if (RadioButtonList1.SelectedValue.ToString() == ViewState["svar1"].ToString())
        {
            ratt += 1;
            textFont1 = "blue";
        }
        else
            textFont1 = "red";

        if (RadioButtonList2.SelectedValue.ToString() == ViewState["svar2"].ToString())
        {
            ratt += 1;
            textFont2 = "blue";
        }
        else
            textFont2 = "red";
//osv till fråga nr 10

Sen försökte jag "uppgradera" koden. Jag tänkte att jag inte skulle behöva
så många rader kod...

//först denna för att kolla värdet
private static string checkValue(int ratt, string thisValue, string nextValue)
    {
        string textColor = "";
        string sRatt = "";
        if (thisValue == nextValue)
        {
            ratt += 1;
            textColor = "blue";
            sRatt = ratt.ToString();
        }
        else
        {
            ratt += 0;
            textColor = "red";
            sRatt = ratt.ToString();
        }

        string svar = sRatt + "," + textColor;
        return svar;
    }
//sedan denna för att splita
private static string deleString(int i, string result)
    {
        string newResult = "";
        string[] nytt;
        if (i == 1)
        {
            nytt = result.Split(',');
            newResult = nytt[0].ToString();
        }
        else
        {
            nytt = result.Split(',');
            newResult = nytt[1].ToString();
        }
        return newResult;
    }

//och sedan för att köra det
ratt = Convert.ToInt32(deleString(1, checkValue(ratt, RadioButtonList1.SelectedValue.ToString(), ViewState["svar1"].ToString()).ToString()));
        textFont1 = deleString(2, checkValue(ratt, RadioButtonList1.SelectedValue.ToString(), ViewState["svar1"].ToString()).ToString());
//osv up till fråga 10

Är jag helt ute och reser eller har ni något bättre förslag? :stud

Medlem sedan mars 20011 880 inlägg
#2

Jag har nu lyckats med att lösa problemet.
Jag har nu lyckats med att lösa problemet.

//göra mina variabler public 
public string textFont1 = "red"; 
public string textFont2 = "red"; 
//osv 
public int ratt = 0; 
//en ny class 
private string makeValue(RadioButtonList rbl, string vieState, string textFont) 
    { 
        if (rbl.SelectedValue.ToString() == vieState) 
        { 
            ratt += 1; 
            textFont = "blue"; 
        } 
        return textFont; 
    } 
//och sedan 
textFont1 = makeValue(RadioButtonList1, ViewState["svar1"].ToString(), textFont1);

Det är nog inte omöjligt att någon kan hitta ett bättre/effektivare sätt, men jag är nöjd med att jag löste det. :bire

255 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)