Avatar billede halden Nybegynder
26. november 2003 - 17:30 Der er 8 kommentarer og
1 løsning

System.DayOfWeek

Her er min kode:

<%@ Page Language="C#" %>

  <script runat="server">
    class Peter {
      string haircolor = "blond";
      string eyecolor = "blue";
      DateTime dayOfBirth = new DateTime(28/07/1979);
     
      public string getDayOfWeek() {

        switch(dayOfBirth.DayOfWeek) {
          case 0:
            return "Sunday";
            break;
          case 1:
            return "Monday";
            break;
          case 2:
            return "Tuesday";
            break;
          case 3:
            return "Wednesday";
            break;
          case 4:
            return "Thursday";
            break;
          case 5:
            return "Friday";
            break;
          case 6:
            return "Saturday";
            break;
        }
      }
    }

    public void Button_click(Object sender, EventArgs e) {
      Peter peter = new Peter();
      peter.getDayOfWeek();
    }

  </script>

<html><body>
  <form runat="server">
    <asp:button id="btSubmit" Text="Submit" runat=server OnClick="Button_click"/><p>
  </form>
</body></html>

og jeg får følgende fejl:

Fejlmeddelelse om kompileringsfunktion: CS0029: Typen 'int' kan ikke implicit konverteres til 'System.DayOfWeek'

Kildefejl:
Linje 13:            return "Sunday";
Linje 14:            break;
Linje 15:          case 1:
Linje 16:            return "Monday";
Linje 17:            break;

Hvad er der galt og hvordan fikser jeg det????
Avatar billede arne_v Ekspert
26. november 2003 - 17:38 #1
Prøv og erstat:

          case 0:
            return "Sunday";
            break;
         
med:
          case System.DayOfWeek.Sunday:
            return "Sunday";
            break;
Avatar billede halden Nybegynder
26. november 2003 - 18:03 #2
det virker ikke
Avatar billede arne_v Ekspert
26. november 2003 - 19:03 #3
Ja men så er der en anden fejl.

Bl.a. ska:

DateTime dayOfBirth = new DateTime(28/07/1979);

nok være:

DateTime dayOfBirth = DateTime.Parse("28/07/1979");
Avatar billede arne_v Ekspert
26. november 2003 - 19:04 #4
Det her kode virker hos mig:

using System;

class MainClass
{
    public static void Main(string[] args)
    {
        DateTime birth = DateTime.Parse("28/07/1979");
        Console.WriteLine(birth + " " + GetDayOfWeek(birth));
    }
    public static string GetDayOfWeek(DateTime dt) {
        switch(dt.DayOfWeek) {
          case DayOfWeek.Sunday:
            return "Sunday";
          case DayOfWeek.Monday:
            return "Monday";
          case DayOfWeek.Tuesday:
            return "Tuesday";
          case DayOfWeek.Wednesday:
            return "Wednesday";
          case DayOfWeek.Thursday:
            return "Thursday";
          case DayOfWeek.Friday:
            return "Friday";
          case DayOfWeek.Saturday:
            return "Saturday";
          default:
              throw new Exception("Not a valid day");
        }
      }}
Avatar billede arne_v Ekspert
26. november 2003 - 19:04 #5
(det er så en console app og ikke ASP.NET, men logikken er den samme)
Avatar billede halden Nybegynder
26. november 2003 - 19:15 #6
hvorfor kan man ikke følgende:

DateTime dayOfBirth = new DateTime();
dayOfBirth.Year = 1979;
dayOfBirth.Date = 28;
Avatar billede arne_v Ekspert
26. november 2003 - 19:18 #7
Fordi de er ReadOnly properties !
Avatar billede arne_v Ekspert
26. november 2003 - 19:18 #8
Jeg gætter på at grunden til det er at eller kan man generere invalide
datoer. Eksempel 29. Februar 2000 og så ændrer man år til 1999.
Avatar billede odegaard Nybegynder
26. november 2003 - 21:08 #9
Øhm du ved godt at der allerede er en funktion der gør dette?
dt.ToString("dddd");
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester