Konferencia vbstreets - a téma megtekintése - hogyan kell visszaállítani a datetime típusú változó dátumát1

Üdvözlet mindenkinek.
Szeretném kiszámítani a függvény időtartamát.
A (eddig) két változót használtam a DateTime típusú dátum1 és dátum2.
Először a funkció kezdete előtt definiálom, a második a vége után. Új mérés esetén a változókat törölni kell az értékekről.






A kérdés az: hogyan?

date1 = System.DateTime.Now; // hozzárendelt egy változót az aktuális pillanatértékhez
sort1.shellsort (Tabel_2); // futtassa a tesztelés alatt álló függvényt
date2 = System.DateTime.Now; // hozzárendelte a második változót ahhoz a pillanatban, amikor a függvény befejeződött
System.TimeSpan diff0 = date2.Subtract (dátum1); // a különbséget milliszekundumban.
lblTijdBubblesort.Text = diff0.Milliseconds.ToString (); // megjelenítette az intervallum értékét

De általában van egy kulturálisabb út?

Eredetileg úgy gondolt, hogy egy időmérő, mint stopperóra. Azt hiszem, be kell állítanom az időzítőt az űrlapra, majd elindítom a funkció megkezdése előtt, miután leállítottam a függvényt, és megállítom a számot milliszekundumban. De nem, így az időzítő nem működik.
Állítsa be az időzítőt, indítsa el, de a stopintervallum lejáratát követően. Így működik.

Kérem, segítsen a hallgatónak.
Köszönöm előre.

VladD2 valahogy így írta:

a Rendszer használatával;
a System.Runtime.InteropServices;

Kód: Válassza ki az összes felhasználást






# 123;
///


/// Ez a struktúra lehetővé teszi, hogy kiszámítsa a kód végrehajtásának sebességét az egyik
/ / / a legpontosabb módon. Valójában a számításokat ciklusokban végzik
/// processzort, majd fordított ezredmásodpercre # 40, tizedes rész
/// a másodikat # 41;
///

nyilvános struktúrájú PerfCounter
# 123;
Int64 _start;

///


/// Elkezdi a végrehajtási idő számítását.
///

public void A # 40; # 41;
# 123;
_start = 0;
QueryPerformanceCounter # 40; ref _start # 41 ;;
# 125;

///


/// A végrehajtási idő felét fejezi ki, és az időt másodpercben adja vissza.
///

/// A webhely végrehajtására fordított idő másodpercben
/// kódot. A tizedes rész egy másodperc törtrészeit tükrözi.

nyilvános úszó Finish # 40; # 41;
# 123;
Int64 befejezése = 0;
QueryPerformanceCounter # 40, ref reflexió # 41 ;;

Int64 freq = 0;
QueryPerformanceFrekvencia # 40; ref freq # 41 ;;
visszatérés # 40; # 40; # 40; úszni # 41; # 40; finish - _start # 41; / # 40; # 41; # frekv; # 41; # 41 ;;
# 125;

# 91; DllImport # 40; "Kernel32.dll" # 41; # 93;
statikus extern bool QueryPerformanceCounter # 40; ref Int64 performanceCount # 41 ;;

# 91; DllImport # 40; "Kernel32.dll" # 41; # 93;
statikus extern bool QueryPerformanceFrekvencia # 40; ref Int64 frekvencia # 41 ;;
# 125;
# 125;


Használd ezt így:


Kód: Válassza ki az összeset // Egy változót kijelentünk valahol.
PerfCounter időzítő = új PerfCounter # 40; # 41 ;;

timer.tart # 40; # 41 ;; // A mérés kezdete

// Adja ki az eredményt a konzolnak.
Console.WriteLine # 40; "Futási idő másodpercek alatt: # 123; 0: ### ### ## 0.0000 # 125; "
timer.Finish # 40; # 41; # 41 ;;
Egy változó többször használható.

A legnehezebb, amit most teszek. A lehetetlen lesz egy kis idő. c) amerikai mérnökök a második világháborúban
Nem mindig tudom, miről beszélek, de tudom, hogy igazam van. (c) Muhammad Ali