Auios.Stopwatch 1.0.0

dotnet add package Auios.Stopwatch --version 1.0.0
NuGet\Install-Package Auios.Stopwatch -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Auios.Stopwatch" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Auios.Stopwatch --version 1.0.0
#r "nuget: Auios.Stopwatch, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Auios.Stopwatch as a Cake Addin
#addin nuget:?package=Auios.Stopwatch&version=1.0.0

// Install Auios.Stopwatch as a Cake Tool
#tool nuget:?package=Auios.Stopwatch&version=1.0.0

Auios.Stopwatch

using System;

namespace Auios.Stopwatch
{
    public class Stopwatch
    {
        private DateTime start;
        private DateTime end;
        private TimeSpan time = TimeSpan.Zero;
        private TimeSpan highest = TimeSpan.Zero;
        private bool isRunning;

        public Stopwatch()
        {
            Reset();
        }

        public void Start()
        {
            if(!isRunning)
            {
                start = DateTime.Now;
                isRunning = true;
            }
        }

        public void Stop()
        {
            if (isRunning)
            {
                isRunning = false;
                end = DateTime.Now;
                time = end - start;
                if (time > highest) highest = time;
            }
        }

        public void Reset()
        {
            time = TimeSpan.Zero;
            highest = TimeSpan.Zero;
            isRunning = false;
        }

        // Time
        public float Ms() => (float)time.TotalMilliseconds;
        public float Seconds() => (float)time.TotalSeconds;
        public float Minutes() => (float)time.TotalMinutes;
        public long Ticks() => time.Ticks;

        // Highest time
        public float HighestMs() => (float)highest.TotalMilliseconds;
        public float HighestSeconds() => (float)highest.TotalSeconds;
        public float HighestMinutes() => (float)highest.TotalMinutes;
        public long HighestTicks() => highest.Ticks;
    }
}
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 1,004 10/31/2020

1.0.0
* Base Stopwatch class