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# bool Sort Examples (True to False)

Display the result of sorting bools. Bools are sorted from false to true by default.
Bool sort. Bools can be sorted. When stored in an array or List, they can be ordered with Sort methods. This allows you to order your collection by true or false.SortBoolList
This is useful for promoting or demoting elements programmatically. A sorted list of bools helps us prioritize "true" results over "false" results.
First example. One use for sorting bools is reordering a List of objects. Sometimes, you need to mark some elements in the List as "bad," pushing them to the bottom of the List.

Tip: Bools have a default of false in a class or struct. With bools, the default Sort method will put false before true.

True, False

Info: The example populates a List generic with 5 bool values. It displays the List in that state, and then sorts it with List.Sort method.

Default order: The default Sort method orders the bools from False to True. This is just like ordering 0 to 1.

Descending: The descending keyword in the example above uses the LINQ query syntax, which is useful for sorting.

LINQ
C# program that sorts bools using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { var items = new List<bool>(); items.Add(true); items.Add(false); items.Add(false); items.Add(false); items.Add(true); foreach (bool value in items) { Console.WriteLine("UNSORTED: {0}", value); } // Sort. items.Sort(); foreach (bool value in items) { Console.WriteLine("SORTED: {0}", value); } // Sort descending. var sorted = from item in items orderby item descending select item; foreach (bool value in sorted) { Console.WriteLine("REVERSE SORTED: {0}", value); } } } Output UNSORTED: True UNSORTED: False UNSORTED: False UNSORTED: False UNSORTED: True SORTED: False SORTED: False SORTED: False SORTED: True SORTED: True REVERSE SORTED: True REVERSE SORTED: True REVERSE SORTED: False REVERSE SORTED: False REVERSE SORTED: False
Example, bool property. Bool sorting can implement a selection algorithm. Only one element should be chosen, but no elements should be eliminated.

Here: We create a List of TestData items. We then sort them with the IsImportant property—important items come before unimportant ones.

Info: This approach can improve error handling as it does not eliminate any elements from consideration.

Exit: We can exit the foreach-loop with a break or return when we find an item that matches our conditions.

Foreach
C# program that uses bool property sort using System; using System.Collections.Generic; using System.Linq; class TestData { public bool IsImportant { get; set; } public string Data { get; set; } } class Program { static void Main() { // Add data to the list. var items = new List<TestData>(); items.Add(new TestData() { IsImportant = true, Data = "Bird" }); items.Add(new TestData() { IsImportant = false, Data = "Cat" }); items.Add(new TestData() { IsImportant = true, Data = "Human" }); // Sort by bool on class. var sorted = from item in items orderby item.IsImportant descending select item; // Put "important" items first. foreach (var item in sorted) { Console.WriteLine("ITEM: " + item.IsImportant + "; " + item.Data); } } } Output ITEM: True; Bird ITEM: True; Human ITEM: False; Cat
A discussion. To filter, you can add a bool property or field to your class, and then assign that to true or false depending on whether you want to give the item priority.

So: Use true to promote the class. Sort the objects with the LINQ query syntax, using the orderby descending clause.

orderby
A summary. Bools are sorted from false to true. The descending sort will order them from true to false. True is essentially equal to 1, and false to 0.
Use boolean sorting for selection algorithms where some objects should be demoted. This helps when we do not want to eliminate items from consideration, but want to prioritize others.
© 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