TheDeveloperBlog.com

Home | Contact Us

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

C# OfType Example

This C# program demonstrates the OfType extension method from System.Linq.

OfType searches for elements by their types.

The System.Linq namespace provides this generic method to test derived types. By using the OfType method, we declaratively locate all the elements of a type.

Example. To start, this example allocates an array of objects on the managed heap. It then assigns more derived types into each of the object reference elements. Next the OfType extension method is invoked.

Object ArrayExtension Method

Notice: It uses the 'string' type inside the angle brackets after the method call but before the parenthesis.

This syntax describes the OfType extension as a generic method. The resulting collection, then, of the OfType invocation has two string elements: the two strings found in the source array.

Generic Method

C# program that uses OfType extension method

using System;
using System.Linq;
using System.Text;

class Program
{
    static void Main()
    {
	// Create an object array for the demonstration.
	object[] array = new object[4];
	array[0] = new StringBuilder();
	array[1] = "example";
	array[2] = new int[1];
	array[3] = "another";

	// Filter the objects by their type.
	// ... Only match strings.
	// ... Print those strings to the screen.
	var result = array.OfType<string>();
	foreach (var element in result)
	{
	    Console.WriteLine(element);
	}
    }
}

Output

example
another

Discussion. What is another, perhaps more practical, way of using the OfType extension in the C# language? One thing you can do is invoke OfType on the collection of Forms in a Windows Forms program.

And: This enables you to locate declaratively all the form elements of a certain type, such as Button or TextBox.

ButtonTextBox

Tip: For a detailed look at this, please consult the specific article about searching Windows Forms programs.

Query Controls

Summary. The OfType extension is located in the System.Linq namespace in the C# language. It provides a useful way to query for elements of a certain type. As with other LINQ methods, it can be applied to various collection types.

So: Custom type testing algorithms have their place. But OfType provides a simple, query-oriented calling convention.


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