C# Error CS0678 – ‘{0}’: a field cannot be both volatile and readonly

C# Error

CS0678 – ‘{0}’: a field cannot be both volatile and readonly

Reason for the Error & Solution

‘variable’: a field can not be both volatile and readonly

Use of the and keywords is mutually exclusive.

The following sample generates CS0678:

// CS0678.cs  
using System;  
  
class TestClass  
{  
   private readonly volatile int i;   // CS0678  
   // try the following line instead  
   // private volatile int i;  
  
   public static void Main()  
   {  
   }  
}