title: Declaring a long constant byte array
body: <p>I have a long byte array that I need to declare in my C# code. I do something like this:</p>
  
  <pre><code>public static class Definitions
  {
      public const byte[] gLongByteArray = new byte[] { 
          1, 2, 3,
          //and so on
      };
  }
  </code></pre>
  
  <p>But I get an error that the const array may be initialized only with nulls.</p>
  
  <p>If I change <code>const</code> to <code>static</code> it compiles, but the question I have is this -- when I declare it as <code>public static byte[] gLongByteArray</code> it won't be initialized every time my app loads, right? In that case the <code>gLongByteArray</code> variable will simply point to an array that is defined in the compiled exe/dll file that loads into memory. The reason I'm asking is because this array is pretty long and I don't want my program to waste CPU cycles on loading it every time the app starts, or worse, this class is referenced...</p>