TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

<< Back to C-SHARP

C# Global Variable Examples (Public Static Property)

Use a global variable, implemented as public static property. Store globals in a static class.
Global variables. These are useful. But they can lead to problems that are hard to debug. Global variables can cause errors in software development.
Many programs can benefit from global variables if used in a controlled manner. We use the static keyword. A separate static class can also be used.
An example. The static keyword describes something that is part of a type, not an instance of the type. This word was chosen for historical reasons—it was used in C and C++.

Next: We see 2 files: one that contains the global variables in a static class, and Program.cs, which uses the global class.

Const: GlobalString is a public global variable. You must assign its value inline with its declaration at the class declaration space.

Property: GlobalValue is a public static property with get and set accessors. This is an access routine of a backing store.

Field: A global field could cause problems in your program because it does not use an access routine.

Global variables class, GlobalVar.cs: C# /// <summary> /// Contains global variables for project. /// </summary> public static class GlobalVar { /// <summary> /// Global variable that is constant. /// </summary> public const string GlobalString = "Important Text"; /// <summary> /// Static value protected by access routine. /// </summary> static int _globalValue; /// <summary> /// Access routine for global variable. /// </summary> public static int GlobalValue { get { return _globalValue; } set { _globalValue = value; } } /// <summary> /// Global static field. /// </summary> public static bool GlobalBoolean; } C# program that uses global variables, Program.cs using System; class Program { static void Main() { // Write global constant string. Console.WriteLine(GlobalVar.GlobalString); // Set global integer. GlobalVar.GlobalValue = 400; // Set global boolean. GlobalVar.GlobalBoolean = true; // Write the 2 previous values. Console.WriteLine(GlobalVar.GlobalValue); Console.WriteLine(GlobalVar.GlobalBoolean); } } Output Important Text 400 True
Access routines. Global variables are used most effectively when accessed through special methods called access routines. You can use access routines in nearly any programming language.

Tip: These methods provide another layer of abstraction over how you use the global variables.

And: In the example, the property accessor (get) is an accessor routine. Please see Code Complete by Steve McConnell, page 340.

Threads. Static fields can introduce problems when using multithreading, which is used extensively in websites. An access routine could provide locking using the lock-statement.Global Variables, ASP.NETLock

Also: This is a problem in many Windows Forms applications that use BackgroundWorker threads.

BackgroundWorker
A summary. We used global variables by adding a static class with constants, properties and public fields. You can also define methods with parameters to access the static variables.
We looked an example of using these global variable types. We discussed issues relating to global variables and threading. We emphasized the usage of access routines.Static
© TheDeveloperBlog.com
The Dev Codes

Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf