C# ve Xamarin platformu kullanarak rasgele sayı üreteci olan bir program yaptım. Belirli bir sayıyı hedef olarak belirledim ve PC rastgele sayı almalı ve hedef numarasını bulduğunda numarayı bulmak için deneme sayısını verdim. Sadece bir şeyi özlüyorum, bir zamanlayıcı koymak istiyorum, bu yüzden numarayı bulmak için ne kadar zaman harcadığımı bilebilirim. Ve onu bulduğunda, zamanlayıcı kaydı durdurur. Bu nasıl yapılabilir?C# daki süreyi nasıl kaydedebilirim?
cevap
Sen zaman sürelerini kaydetmek için Kronometre sınıfını kullanabilirsiniz:
// Create new stopwatch.
Stopwatch stopwatch = new Stopwatch();
// Begin timing.
stopwatch.Start();
// Do something.
for (int i = 0; i < 1000; i++)
{
Thread.Sleep(1);
}
// Stop timing.
stopwatch.Stop();
// Write result.
Console.WriteLine("Time elapsed: {0}", stopwatch.Elapsed);
Tamam, deneyeceğim. Program hedef sayıyı bulduğunda bu zamanlayıcı durur mu? Üzgünüm, ben hala bir başlangıç .. – Ayman
@Agman "Stopwatch", "stopwatch.Stop()" dediğinizde duracak, böylece hedef numarasını bulduğunuzda, sadece "Stop()" olarak adlandırın ve beklenen değeri alırsınız) sonuç. – dylansturg
@Dylan S, numaranın nedenini bulduğunda otomatik olarak durmasını istiyorum belki de onu bulmak saatlerce sürecektir. – Ayman
Bunun için bir zamanlayıcı gerekmez. Sadece bu geçen milisaniye
var startTime = Environment.TickCount;
// do some work.
var timeTaken =Environment.TickCount-startTime;
- birimler istediğiniz fonksiyonu
- Log saniyede fonksiyonu
Çıktı sonucu ya da her türlü sonra bitiş zamanı öncesinde başlangıç zamanı Log almak için ne
// 1) Log the start time before your function long startTime = DateTime.Now.Ticks; // 2) Log the finish time after your function double secondsElapsed = new TimeSpan(DateTime.Now.Ticks - startTime).TotalSeconds; // 3) Output result in seconds or whichever units you want Debug.WriteLine($"Function took: {secondsElapsed}");
StackOverflow'a Hoş Geldiniz! Cevabın hakkında yorum yapmak istedim. Yanlış değilsin, ama en iyi cevap bu değil. 'DateTime 'yapısını kullanmak, operasyon zamanlamasının hesaplanması için yeterli değildir. – Cameron
Daha kesin olan nedir o zaman? – epenabella
'System.Diagnostics' ad alanındaki' Stopwatch' sınıfı, tercih edilen ve önerilen sınıftır. – Cameron
- 1. C++ 'daki Sezar şifresi
- 2. C++ 'daki Geometri kütüphanesi
- 3. C++ 'daki örtük dönüşümler
- 4. C# 'daki Twitter'dan fotoğraflar alın.
- 5. C# Kitap okumak için okunabilir süreyi açıklar
- 6. C# 'daki iki yola nasıl katılırım?
- 7. C# daki istisnaları nasıl rapor edebilirim?
- 8. C# 'daki sekmeleri dikey sekmelerle nasıl uygularım?
- 9. C# 'daki MySQL'den veri türünü nasıl alabilirim?
- 10. C++ 'daki boş fonksiyondan nasıl çıkıyorsunuz?
- 11. Bir işlemi nasıl kaydedebilirim?
- 12. Görüntüyü PIL ile nasıl kaydedebilirim?
- 13. geçen süreyi lokalize etme
- 14. Nesneleri Node.js'deki dosyalara nasıl kaydedebilirim?
- 15. ListView'ın kaydırma konumunu nasıl kaydedebilirim?
- 16. RESTful posta verilerini nasıl kaydedebilirim?
- 17. C# 'daki ölçekleme panellerinden ayırıcıyı durdurun?
- 18. Anahtarlar/Değerler C++ 'daki Iteratörler için İşlevler
- 19. C++ 'daki sesi bir mikrofondan yakalayın
- 20. C# 'daki sonek ağacı uygulaması mı arıyorsunuz?
- 21. C++ 0'daki tüm kurucuları iletme
- 22. 24 saatlik süreyi 12 saate nasıl dönüştürebilirim?
- 23. WPF'de Süreyi bir kaynak olarak nasıl tanımlarız?
- 24. VBA'da geçen süreyi saniye cinsinden nasıl hesaplarsınız?
- 25. Tuvali resim olarak Firebase deposuna nasıl kaydedebilirim?
- 26. Özellik C# daki dinamikten alındığında enum özelliğini nasıl kontrol ederim?
- 27. Bir TensorFlow grafiğini C++'daki bir protobuftan nasıl çalıştırabilirim?
- 28. Implementor sınıfımı özel tutarken C++'daki variadic şablonu nasıl kullanabilirim?
- 29. C++ 'daki yineleyici değerlerini denetlemenin sözdizimsel ek yükünü nasıl düzeltebilirim?
- 30. İlk 0'lar (sıfır), C# 2.0'daki dizeden nasıl kaldırılır
[StopWatch] 'a bakın (https://msdn.microsoft.com/de-de/library/system.diagno stics.stopwatch (v = vs.110) .aspx). Bu zaman dilimleri ölçebilir. –