title: My Stopwatch is not keeping and displaying time
body: <p>I put together a program in C# that is suppose to time how long it takes to encrypt and decrypt in RSA and then display the time.  I put the stopwatch object into the encrypt and decrypt method instead of making a method of its own.  No matter what I have tried, the output is always 00:00:00:00.</p>
  
  <pre><code>public void EncryptFile(string inFile)
  {
     Stopwatch stopWatch = new Stopwatch();
     // Get the elapsed time as a TimeSpan value.
     TimeSpan ts = stopWatch.Elapsed;
     stopWatch.Start();
  
     // Create instance of Rijndael for 
     // symetric encryption of the data.
  
     RijndaelManaged rjndl = new RijndaelManaged();
     rjndl.KeySize = 256;
     rjndl.BlockSize = 256;
     rjndl.Mode = CipherMode.CBC;
     ICryptoTransform transform = rjndl.CreateEncryptor();
  
     // Use RSACryptoServiceProvider to 
     // enrypt the Rijndael key. 
     // rsa is previously instantiated:  
     // rsa = new RSACryptoServiceProvider(cspp); 
     byte[] keyEncrypted = rsa.Encrypt(rjndl.Key, false);
  
     // Create byte arrays to contain 
     // the length values of the key and IV. 
     byte[] LenK = new byte[4];
     byte[] LenIV = new byte[4];
  
     int lKey = keyEncrypted.Length;
     LenK = BitConverter.GetBytes(lKey);
     int lIV = rjndl.IV.Length;
     LenIV = BitConverter.GetBytes(lIV);
  
     // Write the following to the FileStream 
     // for the encrypted file (outFs): 
     // - length of the key 
     // - length of the IV 
     // - ecrypted key 
     // - the IV 
     // - the encrypted cipher content 
  
     int startFileName = inFile.LastIndexOf("\\") + 1;
     // Change the file's extension to ".enc" 
     string outFile = EncrFolder +
        inFile.Substring(startFileName,
        inFile.LastIndexOf(".") -      startFileName) + ".enc";
  
     using (FileStream outFs = new FileStream(outFile, FileMode.Create))
     {
        outFs.Write(LenK, 0, 4);
        outFs.Write(LenIV, 0, 4);
        outFs.Write(keyEncrypted, 0, lKey);
        outFs.Write(rjndl.IV, 0, lIV);
  
        // Now write the cipher text using 
        // a CryptoStream for encrypting. 
        using (CryptoStream outStreamEncrypted =
           new CryptoStream(outFs, transform, CryptoStreamMode.Write))
        {
           int count = 0;
           int offset = 0;
  
           // blockSizeBytes can be any arbitrary size. 
           int blockSizeBytes = rjndl.BlockSize / 8;
           byte[] data = new byte[blockSizeBytes];
           int bytesRead = 0;
  
           using (FileStream inFs = new FileStream(inFile, FileMode.Open))
           {
              do
              {
                 count = inFs.Read(data, 0, blockSizeBytes);
                 offset += count;
                 outStreamEncrypted.Write(data, 0, count);
                 bytesRead += blockSizeBytes;
              } while (count &gt; 0);
  
              inFs.Close();
           }
           outStreamEncrypted.FlushFinalBlock();
           stopWatch.Stop();
           // Format and display the TimeSpan value. 
           string elapsedTime = string.Format("{0:00}:{1:00}:{2:00}.{3:00}",
              ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10);
           label3.Text = "Elapsed time " + elapsedTime;
           outStreamEncrypted.Close();
        }
        outFs.Close();
     }
  }
  </code></pre>