Jak zdefiniować czas w formacie mm:ss,00?

0

Witam. Potrzebuję zdefiniować tablicę z której będę wyszukiwał czas biegu i zwracał jej index jako ilość punktów zdobytych przez zawodnika. Te czasy potrzebuję wprowadzić w formacie mm:ss,00 czyli do setnych sekund. Prosiłbym o pomoc jak to zrobić, pozdrawiam.

0

var date = DateTime.Now.ToString("mm:ss.ff");

0
error91 napisał(a):

var date = DateTime.Now.ToString("mm:ss.ff");

a jak zrobić z tego tablicę? i jak wpisywać w niej dane w takim formacie?

0
croveanowsky napisał(a):
error91 napisał(a):

var date = DateTime.Now.ToString("mm:ss.ff");

a jak zrobić z tego tablicę? i jak wpisywać w niej dane w takim formacie?

Zrob listę List<DateTime> . Dopiero przy wyświetlaniu rób .ToString("mm:ss.ff"). Od biedy możesz też zapisywać stringi, ale to gorsze rozwiązanie.

0
error91 napisał(a):
croveanowsky napisał(a):
error91 napisał(a):

var date = DateTime.Now.ToString("mm:ss.ff");

a jak zrobić z tego tablicę? i jak wpisywać w niej dane w takim formacie?

Zrob listę List<DateTime> . Dopiero przy wyświetlaniu rób .ToString("mm:ss.ff"). Od biedy możesz też zapisywać stringi, ale to gorsze rozwiązanie

        static void lista()
        { 
        List<DateTime> list = new List<DateTime>();
            list.Add(6, 00, 12);
            list.Add(4, 38, 20);
        }  

Wyskakuje błąd, że wprowadzam 3 argumenty. Oddzielanie kropkami tudzież dwukropkiem nic nie daje

@up ok trzeba było tak list.Add(new DateTime(6, 00, 12));

1
        static void lista()
        { 
        List<DateTime> list = new List<DateTime>();
            list.Add(6, 00, 12);
            list.Add(4, 38, 20);
        }  

Wyskakuje błąd, że wprowadzam 3 argumenty. Oddzielanie kropkami tudzież dwukropkiem nic nie daje

Dlaczego do listy która trzyma obiekty DateTime chcesz dodać liczby po przecinku?
DateTime ma kilka konstrutkorów, które możesz tutaj wykorzystać
https://msdn.microsoft.com/en-us/library/xcfzdy4x(v=vs.110).aspx

1

Może najpierw zapoznaj się z podstawami, bo takie strzelanie kodem nic nie da: https://msdn.microsoft.com/pl-pl/library/system.datetime(v=vs.110).aspx

var date = new DateTime(2008, 5, 1, 8, 30, 52);

zresztą IDE podpowiada co ma być pisząc list.Add(....

0
        public void lista()
        { 
        List<DateTime> list = new List<DateTime>();
            list.Add(new DateTime(6, 00, 12));
            list.Add(new DateTime(4, 36, 40));
            list.Add(new DateTime(4, 34, 60));
            list.Add(new DateTime(4, 32, 80));
            list.Add(new DateTime(4, 31, 00));
            list.Add(new DateTime(4, 29, 20));
        }   

        private void textBox52_TextChanged(object sender, EventArgs e)
        {
            y = DateTime.Parse(textBox52.Text);
            list.OrderBy(x => x);
            foreach (var record in list)
            {
                if (record >= y)
                {
                    double index = Array.IndexOf(list, record);
                    textBox51.Text = Convert.ToString(index);
                    textBox51.BackColor = textBox51.BackColor;
                    sc1 = Double.Parse(textBox51.Text);
                }
            }
        }

Mam takie coś ale wywala błąd "The name 'list' does not exist in the current context". Domyślam się, że to problem klasy którą zdefiniowałem dla listy. Jak to naprawić?

0

Eh.. textBox52_TextChanged nie ma dostępu do tej listy.

http://lmgtfy.com/?q=c%23+for+beginners

0
error91 napisał(a):

Eh.. textBox52_TextChanged nie ma dostępu do tej listy.

http://lmgtfy.com/?q=c%23+for+beginners

Mógłbyś mi dać większą podpowiedź co powinienem zmienić? W ogóle nie rozumiem dlaczego akurat przy tworzeniu listy muszę tworzyć nowe zdarzenie, a na przykład przy tworzeniu tablicy już nie.

@Edit

Spróbowałem inaczej i stworzyłem tablicę

        DateTime[] x = new DateTime[6]
        {
            new DateTime(6, 00, 12), new DateTime(4, 36, 40), new DateTime(4, 34, 60), new DateTime(4, 32, 80),
            new DateTime(4, 31, 00), new DateTime(4, 29, 20)
        };

Aczkolwiek teraz wywala błąd "Parametry Year, Month i Day opisują element DateTime, którego nie można zaprezentować."

0

Aczkolwiek teraz wywala błąd "Parametry Year, Month i Day opisują element DateTime, którego nie można zaprezentować."

No, a czy widziałeś kiedyś miesiąc, który posiada numer zero w kalendarzu? :) Albo numer 36? O_o! Albo dzień miesiąca o numerze 60?

y = DateTime.Parse(textBox52.Text);

Gołe Parse - wyjątek murowany. Wpisywanie nieprawidłowych danych w Textbox'a nie jest sytuacją wyjątkową. TryParse Twoim przyjacielem.

Mógłbyś mi dać większą podpowiedź co powinienem zmienić? W ogóle nie rozumiem dlaczego akurat przy tworzeniu listy muszę tworzyć nowe zdarzenie, a na przykład przy tworzeniu tablicy już nie.

Coś tutaj strasznie mieszasz, bo jedno z drugim nie ma nic wspólnego.

"The name 'list' does not exist in the current context"

Jeżeli chcesz mieć dostęp do obiektu w różnych metodach klasy to zrób z niego np. pole prywatne.

PS: Serio, IDE nie podpowiada Ci co masz wstawiać jako argumenty metod czy jako obiekty do list, czy cokolwiek w ogóle? Robisz tak podstawowe błędy w miejscach gdzie IDE jak byk podpowiada co wstawiać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1