Using alias. A using alias directive introduces new type names. These point to an existing type or namespace. This provides more flexibility should the implementation need to change.
This language feature has a limited range of use in C# programs. Typically when writing programs, using the simplest and most direct code is best.
Syntax chart. Consider we want to use the name "Cat" to refer to a StringBuilder. This could be the .NET StringBuilder, or a different one we implement elsewhere.
USING ALIAS:
using Cat = System.Text.StringBuilder;
Example. The using alias directive syntax requires the "using" keyword and then the equals sign. Then an existing type name or namespace is required.
Here We map the type "Cat" to the type "System.Text.StringBuilder". In the program, the type Cat can be used as a StringBuilder.
using System;
using Cat = System.Text.StringBuilder;
class Program
{
static void Main()
{
Cat cat = new Cat();
cat.Append("sparky");
cat.Append(100);
Console.WriteLine(cat);
}
}sparky100
Complex types. More modern versions (as of 2024) of C# support aliases to many types, even generic types and tuples. Try a complex type in a using-statement and see whether it compiled.
Here We alias "Test" to the List generic class. So we can avoid specifying the type of elements elsewhere in the program.
using Test = System.Collections.Generic.List<int>;
class Program
{
static void Main()
{
// Create a new List of ints.
var test = new Test();
test.Add(1);
test.Add(2);
System.Console.WriteLine(test.Count);
}
}2
Discussion, debug. Sometimes, an entire program would want to use one type implementation for DEBUG mode, and a different implementation for RELEASE mode.
And You could use an alias instead of the actual type names. Then you could use #ifdef and #else to wrap the using alias directive.
Resolve ambiguities. Say you have a custom StringBuilder type in the namespace Perls.Animals.StringBuilder. And you include System.Text and this other namespace.
Then The using alias directive can specify what "StringBuilder" actually points to.
A summary. Like "extern," using alias helps resolve ambiguities in programs. It can also enable you to swap implementations for a type based on compile-time flags.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Jan 16, 2024 (new example).