Feedback

C# - Sternzeichen bestimmen

Veröffentlicht von am 28.04.2008
(1 Bewertungen)
Mit dieser Methode kann das Sternzeichen bestimmt werden.
/// <summary>
/// Gets the star sign.
/// </summary>
/// <param name="candidate">The candidate</param>
/// <returns></returns>
string GetStarSign(DateTime candidate)
{
    switch (Convert.ToInt32(candidate.Month))
    {
        case 1:
            if (candidate.Day >= 20 && candidate.Day <= 31)
                return "Widder";
            else
                return "Steinbock";

        case 2:
            if (candidate.Day >= 1 && candidate.Day <= 19)
                return "Fische";
            else
                return "Wassermann";
        case 3:
            if (candidate.Day >= 1 && candidate.Day <= 20)
                return "Fische";
            else
                return "Widder";
        case 4:
            if (candidate.Day >= 1 && candidate.Day <= 19)
                return "Widder";
            else
                return "Stier";
        case 5:
            if (candidate.Day >= 1 && candidate.Day <= 20)
                return "Stier";
            else
                return "Zwillinge";
        case 6:
            if (candidate.Day >= 1 && candidate.Day <= 20)
                return "Zwillinge";
            else
                return "Krebs";
        case 7:
            if (candidate.Day >= 1 && candidate.Day <= 22)
                return "Krebs";
            else
                return "Löwe";
        case 8:
            if (candidate.Day >= 1 && candidate.Day <= 22)
                return "Löwe";
            else
                return "Jungfrau";
        case 9:
            if (candidate.Day >= 1 && candidate.Day <= 22)
                return "Jungfrau";
            else
                return "Waage";
        case 10:
            if (candidate.Day >= 1 && candidate.Day <= 22)
                return "Waage";
            else
                return "Skorpion";
        case 11:
            if (candidate.Day >= 1 && candidate.Day <= 21)
                return "Skorpion";
            else
                return "Schütze";
        case 12:
            if (candidate.Day >= 1 && candidate.Day <= 21)
                return "Schütze";
            else
                return "Steinbock";
    }
    return string.Empty;
}
Abgelegt unter Sternzeichen, starsign, DateTime.

3 Kommentare zum Snippet

Damir schrieb am 19.10.2008:
Ist zwar ein nettes Skript aber völlig mit den falschen Daten gefüttert...Richtig wäre
' Wassermann (21. Januar bis 19. Februar)
' Fische (20. Februar bis 20. März)
' Widder (21. März bis 20. April)
' Stier (21. April bis 21. Mai)
' Zwillinge (22. Mai bis 21. Juni)
' Krebs (22. Juni bis 23. Juli)
' Löwe (24. Juli bis 23. August)
' Jungfrau (24. August bis 23. September)
' Waage (24. September bis 23. Oktober)
' Skorpion (24. Oktober bis 22. November)
' Schütze (23. November bis 21. Dezember)
' Steinbock (22. Dezember bis 20. Januar)
Patrick Semmler schrieb am 26.02.2011:
Abgesehen von den falschen Daten...
Nur ein Beispiel, das sich durch den ganzen Code zieht:
candidate.Day >= 1 && candidate.Day <= 19

Der erste Teil dieser Bedingung ist überflüssig, da kein Monat
weniger als 1 Tag hat...
Guido schrieb am 18.09.2012:
Also umständlicher geht's kaum... Besser man berechnet anfangs einen Hashwert ohne Jahr und fragt dann die Zeiträume ab. Achtung: Beim Steinbock den Jahreswechsel durch logsiches OR beachten...

        public static string Sternzeichen(DateTime pGeburtsdatum)
{
int md = pGeburtsdatum.Month * 100 + pGeburtsdatum.Day;
if (md >= 0121 && md <= 0219) return "Wassermann";
if (md >= 0220 && md <= 0320) return "Fische";
if (md >= 0321 && md <= 0420) return "Widder";
if (md >= 0421 && md <= 0520) return "Stier";
if (md >= 0521 && md <= 0621) return "Zwillinge";
if (md >= 0622 && md <= 0722) return "Krebs";
if (md >= 0723 && md <= 0823) return "Löwe";
if (md >= 0824 && md <= 0923) return "Jungfrau";
if (md >= 0924 && md <= 1023) return "Waage";
if (md >= 1024 && md <= 1122) return "Skorpion";
if (md >= 1123 && md <= 1222) return "Schütze";
if (md >= 1223 || md <= 0120) return "Steinbock";
}
 

Logge dich ein, um hier zu kommentieren!