imho: using a bunch of bytes to store information that requires parsing to interpret is, generally, a bad idea.
While you can simulate "global" variables in C# using static Fields, or static Properties, or certain Types declared as Const (Constant), in static Classes; and, you can even (shudder, groan) define a static Class "outside" any NameSpace:
1) It is bad practice to do so: violates OOP; leads to hard to track down errors; makes unit testing difficult.
2) You can get notifications of changes to
Property values by implementing INotifyPropertyChanged in your Classes: [
^]
3) You can
embed certain types of values in your C# Application Resources: [
^]
4) You can make a non-static Class that will allow only one instance of it to be created: this is called a Singleton [
^] ... there should be a
compelling reason to use this structure.