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.