Click here to Skip to main content
13,706,648 members

Best C# Article of August 2017

This competition has ended

Contribute to CodeProject and you'll automatically be in the running for a monthly prize!

Each month at CodeProject we gather together the best of the articles submitted the previous month and ask our readers to choose the best of the best. Entry is automatic - just submit you articke and we'll do the rest.

Check out the submission guidelines for information on posting articles.

You must sign in to participate in this contest.
This contest has ended.
1 Aug - 31 Aug 2017

Current Entries

Articles that match the contest criteria are automatically entered. The top 50 entries are shown.

25 Oct 2017
Graeme_Grant
Working with simple JSON objects & collections to Custom Converters and Transformations into .Net classes.
1 Sep 2017
Sergey Alexandrovich Kryukov
A computer keyboard can be turned into an isomorphic musical instrument, to help in deeper exploration of the Musical Harmony and even to inspire new musical ideas
29 Aug 2017
Arthur V. Ratz
This article demonstrates the development of code in C# implementing famous k-means clustering algorithm to perform graphical raster image segmentation.
7 Aug 2017
Marc Clifton
Not very classy in C#, but pretty classy in F#.
8 Aug 2017
Afzaal Ahmad Zeeshan
Since I wrote an article previously, I had been asked on various occasions to share the code to Yahoo! or Bing, etc. I wanted to write an article, with the code, which covers all of those vendors as well.
27 Aug 2017
Daniel Vaughan
Use, and learn how to build, a Markdown Monster add-in that outputs HTML compatible with CodeProject's article submission wizard.
24 Aug 2017
Daniel Vaughan
Using steganography to conceal text within a document or watermark a code file, using a whitespace encoder. Hide text in plain sight!
21 Feb 2018
Yunus Emre Kalkan
How to create custom repostories in ASP.NET Boilerplate and use stored procedure, view, user defined functions inside your repository
16 Aug 2017
Clifford Nelson
This is a simple behavior that can be attached to a ContentControl and allows zooming and dragging the Content.
19 Aug 2017
Afzaal Ahmad Zeeshan
.NET Core 2.0 brings a lot of improvements to the system, and it brings a lot of pain to the developers as well. I had a lot of problems upgrading .NET Core 1.x apps to .NET Core 2.0; I yet have to feel the promise it makes about performance and so, but let us see how to upgrade our existing applica
21 Aug 2017
Mehdi Gholam
Cleanup the VS 2017 offline installation folder of old versions
2 Aug 2017
Clifford Nelson
Fairly straight forward way of binding in a HierarchicalDataTemplate or DataTemplate to the parent ViewModel when using the TreeView control.
8 Aug 2017
Yury Yuhno
A panel that has rounded borders, gradients, edges/bevels and a shadow
26 Aug 2017
Dirk Bahle
Implementing a WPF/MVVM Control libray (with backend) that manages a Most Recently Used list of files.
8 Aug 2017
LostTime76
A custom panel which allows elements to be resized using splitters
11 Aug 2017
John Simmons / outlaw programmer
Handy class to reduce clutter in your code
26 Aug 2017
Erik Drent
Simple POCO mapper for EPPlus
18 Aug 2017
David_Wimbley
Scheduling dependent jobs sequentially with Quartz.net
22 Aug 2017
JUST_Neeraj
1 alternative  
A Simple Messaging\ Workflow \ETL system on MySql and .NET.
7 Aug 2017
John Newcombe
Genetic Algorithm Framework
7 Aug 2017
John Newcombe
Genetic Algorithm Framework
7 Aug 2017
John Newcombe
Hopfield Neural Network for Character Recognition in .NET and C#
30 Aug 2017
morzel
Detecting a drone - OpenCV in .NET for beginners (Emgu CV 3.2, Visual Studio 2017)
25 Aug 2017
Cédric Bourgeois
How to make it easier to manage StyleSelector and TemplateSelector with AvalonDock, especially when the selection is based on the ViewModel type only.
7 Aug 2017
John Newcombe
Taming the Twitter API in C#
17 Aug 2017
Dennis Wu CA
A demo that generates a simple Excel spreadsheet with subscripts and superscripts
19 Dec 2017
trident99
HTLSharp is a C# port and upgrade of the HPC Template Library (HTL).
8 Aug 2017
Richard James Moss
How to write custom Markdig extensions
13 Aug 2017
Dennis Wu CA
A command line program that resets user access permission in windows
20 Aug 2017
John Bhatt
How to set pagesize of your gridview at runtime? Let your user decide the how many records they want to see in a GridView screen.
23 Aug 2017
Vertical AIT
Automatically bind MVC HTML RenderPartial and Partial view pages to your model's child objects without having to use HTMLFieldPrefix.
23 Aug 2017
Clifford Nelson
This is a generic class that makes it much easier to create another class in the background. It also provides a good sample of how to use the Task.Run with the ContinueWith clause.
10 Sep 2017
Bart-Jan Brouwer
Old and new style all in one project
7 Aug 2017
Bhairav Thakkar
A basic artificial neural network code for experimenting
29 Aug 2017
Clifford Nelson
There are times when want to have associated RadioButton controls on a window, and it would be much easier to interface to these controls with a single property instead of independent properties for each RadioButton. This control allows multiple RadioButton controls to be on a single Binding.
30 Aug 2017
morzel
Detecting a Drone - OpenCV in .NET for Beginners (Emgu CV 3.2, Visual Studio 2017). Part 1
22 Aug 2017
David_Wimbley
Reading emails from an inbox with openpop.net
30 Aug 2017
Uzi Granot
This program will solve a Rubik’s cube using algorithms for beginners. It is a WPF open source application written in C# using 3D graphics and animation.
16 Nov 2017
raddevus
Get complete source that creates a solution so users never have to memorize, type or make up a password again. I've open-sourced the entire code base to the apps on all platforms(iOS,Android, WinForm, Web)
11 Jun 2018
Maxim Dobroselsky
Overview of how to use the DryWetMIDI library for high-level managing of a MIDI file data.
1 Aug 2017
George Swan
A way of adapting a particle swarm optimizer to solve the travelling salesman problem.
11 Aug 2017
Clifford Nelson
Sometimes want to have some action in a View when there are no items or are items in a collection. It is very easy to do this with a converter and binding to the Collection's Count property
22 Sep 2017
Petru Faurescu
Few insights on how to better paginate results in MongoDB, and to achieve excellent performance
2 Aug 2017
gggustafson
This article discusses an implementation of a scrolling TextBox and a UI that supports key and mouse events.
1 Aug 2017
Rodimus74
Part two of taking the Microsoft Xamarin Weather tutorial to the next level.
2 Aug 2017
Richard Deeming
Adding cancellation support to the SendMailAsync method
30 Aug 2017
Geek2Simon
Use Excel worksheet's cells as pixels to render real image (for fun and experiment)
9 Oct 2017
George mns
Adding sliding functionality to UWP XAML SplitView
5 Aug 2017
Carsten Keltsch
Brief description of how to access 64-bit DLLs from 32-bit processes using a COM bridge
14 Aug 2017
Zoltán Zörgő
This article is presenting a sketch application capable of consuming Office365 Oultook Streaming Notificaion API
You must sign in to participate in this contest.
This contest has ended.
1 Aug - 31 Aug 2017

Current Participants

Those with articles that match the contest criteria are automatically entered.

Zoltán Zörgő
Technical Lead
Hungary Hungary
No Biography provided
Afzaal Ahmad Zeeshan
Student
Pakistan Pakistan
Computer programmer, author, student, in a relationship and not available!
Arthur V. Ratz
Software Developer (Senior) Engineer DPLKB
Ukraine Ukraine
Arthur V. Ratz, 38 years old, C++ software developer, system analyst and network engineer graduated from L’viv State Polytechnic University and attained his Computer science and Information technology master’s degree in January 2004. Since the middle of 2005 senior IT-pros. His professional career began as a financial and accounting software developer in DPLKB company’s small local branch in L’viv. His professional interests include C/C++ programming, windows platform applications development using Win32API, parallel programming and multithreading, SQL relational database development, PHP and JavaScript web development, algorithms, system analysis, distributed information systems, computers networks design and analyzing, Windows Server and Linux administration, cloud computing, IoT, system security, technical writing and science publications etc. Arthur Ratz published his first article at CodeProject.com in June 2015.
Bart-Jan Brouwer
Technical Lead
Netherlands Netherlands
I graduated as Bachelor of Mechanical Engineering. Soon I moved from mechanical to software engineering. With more than 20 years of experience in software design, development, and architecture I love building software that users enjoy en suit their needs.
Bhairav Thakkar
Software Developer (Senior)
Canada Canada
No Biography provided
Carsten Keltsch
Technical Lead
Germany Germany
No Biography provided
Cédric Bourgeois
Switzerland Switzerland
This member doesn't quite have enough reputation to be able to display their biography and homepage.
Clifford Nelson
Software Developer (Senior) Clifford Nelson Consulting
United States United States
Has been working as a C# developer on contract for the last several years, including 3 years at Microsoft. Previously worked with Visual Basic and Microsoft Access VBA, and have developed code for Word, Excel and Outlook. Started working with WPF in 2007 when part of the Microsoft WPF team. For the last eight years has been working primarily as a senior WPF/C# and Silverlight/C# developer. Currently working as WPF developer with BioNano Genomics in San Diego, CA redesigning their UI for their camera system. he can be reached at qck1@hotmail.com.
Daniel Vaughan
President Outcoder
Switzerland Switzerland
Daniel Vaughan is a eight-time Microsoft MVP and co-founder of Outcoder, a Swiss software and consulting company dedicated to creating best-of-breed user experiences and leading-edge back-end solutions, using the Microsoft stack of technologies--in particular Xamarin, WPF, and the UWP.

Daniel is the author of Windows Phone 8 Unleashed and Windows Phone 7.5 Unleashed, both published by SAMS.

Daniel is the developer behind several acclaimed mobile apps including Surfy Browser for Android and Windows Phone. Daniel is the creator of a number of popular open-source projects, most notably Codon.

Would you like Daniel to bring value to your organisation? Please contact

Blog | MVP profile | Twitter


Xamarin Experts
Windows 10 Experts
David_Wimbley
Software Developer
United States United States
I'm a software developer and enjoy .net, angular, mvc, and many other different languages.
Dennis Wu CA
United States United States
No Biography provided
Dirk Bahle
Germany Germany
The Windows Presentation Foundation (WPF) and C# are among my favorites and so I developed Edi

and a few other projects on GitHub. I am normally an algorithms and structure type but WPF has such interesting UI sides that I cannot help myself but get into it.

https://de.linkedin.com/in/dirkbahle
Erik Drent
Software Developer (Senior)
Netherlands Netherlands
Freelance Sitecore /.Net developer
Geek2Simon
Software Developer
Canada Canada
Just A Geek
Blog: geek2.info

George mns
Canada Canada
No Biography provided
George Swan
Student
Wales Wales
No Biography provided
gggustafson
Software Developer (Senior)
United States United States
I started programming more than 42 years ago using AutoCoder and RPG (note no suffixing numbers). Programs and data were entered using punched cards. Turnaround between submitting a job for compilation and execution was about 3 hours. So much for the "good old days!" Today, I particularly enjoy programming real-time software. I consider myself capable in WinForms, Mobile Apps, and C# although there are occasions that I yearn to return to C and the Win32 API.
Graeme_Grant
Technical Lead
Australia Australia
No Biography provided
John Bhatt
Founder P.Yar.B Complex
Nepal Nepal
John Bhatt is an IT Professional having interest in Web technology. He is Web Designer, Developer, Software Developer, Blogger and Technology Geek. Currently he writes his Blogs at Blog of P.Yar.B and various other Sites. He is Main author and founder of Download Center.
Contact Him at : Facebook | Twitter | Website | PRB - Blog.
John Newcombe
Software Developer
United Kingdom United Kingdom
John is the author of the free Genetic Algorithm Framework for .Net (GAF) and the series of GeoUK NuGet packages. John studied at Leicester De Montfort University and gained a Distinction for the highly regarded Masters Degree in Computational Intelligence and Robotics. John can provide commercial product support for the GAF or GAF based projects and can be contacted via the Code Project, LinkedIn or the usual social channels.
John Simmons / outlaw programmer
Software Developer (Senior) Paddedwall Software
United States United States
I've been paid as a programmer since 1982 with experience in Pascal, and C++ (both self-taught), and began writing Windows programs in 1991 using Visual C++ and MFC. In the 2nd half of 2007, I started writing C# Windows Forms and ASP.Net applications, and have since done WPF, Silverlight, WCF, web services, and Windows services.

My weakest point is that my moments of clarity are too brief to hold a meaningful conversation that requires more than 30 seconds to complete. Thankfully, grunts of agreement are all that is required to conduct most discussions without committing to any particular belief system.
JUST_Neeraj
Architect
Norway Norway
I have 14 years of IT experience on the .NET Stack. I am back-end\middleware expert focussing on databases, APIs and integration systems. I have been focussing a lot on AWS in the last 2 years.
https://github.com/WorkMaze
LostTime76
United States United States
No Biography provided
Marc Clifton
United States United States
Marc is the creator of two open source projects, MyXaml, a declarative (XML) instantiation engine and the Advanced Unit Testing framework, and Interacx, a commercial n-tier RAD application suite.  Visit his website, www.marcclifton.com, where you will find many of his articles and his blog.

Marc lives in Philmont, NY.
Maxim Dobroselsky
Software Developer
Russian Federation Russian Federation
My primary skills are C#, WPF and ArcObjects/ArcGIS Pro SDK. Currently I'm working on extensions for ArcGIS for Desktop and ArcGIS Pro.

Also I'm writing music which led me to starting the DryWetMIDI project on the GitHub. DryWetMIDI is an open source .NET library written in C# for managing MIDI files. The library is currently actively developing.

Also I actively help people on Code Review Stack Exchange to improve their C# code and have some answers on WPF related questions on Stack Overflow.
Mehdi Gholam
Architect -
United Kingdom United Kingdom
Mehdi first started programming when he was 8 on BBC+128k machine in 6512 processor language, after various hardware and software changes he eventually came across .net and c# which he has been using since v1.0.
He is formally educated as a system analyst Industrial engineer, but his programming passion continues.

* Mehdi is the 5th person to get 6 out of 7 Platinum's on Code-Project (13th Jan'12)
* Mehdi is the 3rd person to get 7 out of 7 Platinum's on Code-Project (26th Aug'16)
Petru Faurescu
Architect
Denmark Denmark
My name is Petru Faurescu and I am a solution architect and technical leader. Technical blog: QAppDesign.com
raddevus
Software Developer (Senior) RADDev Publishing
United States United States
The CP editors went to Canada and all I got was this crummy sig line.
My web site, blog and other dev projects including C'YaPass : http://raddev.us^
Richard Deeming
Software Developer Nevalee Business Solutions
United Kingdom United Kingdom
No Biography provided
Richard James Moss
Software Developer (Senior)
United Kingdom United Kingdom
No Biography provided
Rodimus74
Web Developer
Australia Australia
No Biography provided
Sergey Alexandrovich Kryukov
Architect
United States United States
No Biography provided
trident99
United States United States
No Biography provided
Uzi Granot
Canada Canada
No Biography provided
Vertical AIT
CEO Vertical AIT (Vertical Automation & Information Te
United States United States
Software Architect and CEO of Vertical AIT.

We build intuitive Data Acquisition, Control, and Automation systems. We offer software for all of the Verticals of your business from firmware and data acquisition to web dashboards and reporting.

Education:
BS Computer Science + MBA
Texas A&M University
No Biography provided
Yury Yuhno
Software Developer
Latvia Latvia
I specialize in .Net with C#.
MSc in Computer Science, Daugavpils University
You must sign in to participate in this contest.
This contest has ended.
1 Aug - 31 Aug 2017
You must sign in to participate in this contest.
This contest has ended.
1 Aug - 31 Aug 2017
You must sign in to participate in this contest.
This contest has ended.
1 Aug - 31 Aug 2017

Contest Entries and Requirements

  1. The contest period covers the the first day of the month 12AM US Eastern Standard Time and ends the final day of the month at 11:59:59 PM US Eastern Standard Time. All entries must be submitted during this period in order to qualify.
  2. Entries must be an article, or blog entry.
  3. With the exception of the Everything Else category, the article must be tagged with at least one of the tags corresponding to that competition's category (for example, to enter the C# Competition you would need to tag your article with a C# tag).
  4. Articles entries must follow the CodeProject submission guidelines.
  5. No cheating, lying, plagiarizing articles, chicanery, or kicking.
  6. Articles may only be considered for a single category. If an article is eligible for multiple categories (for example, it pertains to both the C# and Web Dev categories), CodeProject editors and judges will decide which category the article shall be entered in.
  7. No author can be nominated twice in the same category.
  8. If an author writes has two separate articles, each article may be considered in their respective categories provided none of the aforementioned rules are broken. For example, if an author wrote two separate articles, one related to C# and one related to VB.NET, the author and articles could be nominated in the C# and VB.NET competitions, respectively.
  9. In the event an author wins multiple competitions, and repeat, identical prizes, the number of prizes issued is solely at the discretion of the prize issuer.
  10. In the event an article has multiple authors and/or contributors, the number of prizes issued is solely at the discretion of the prize issuer.
  11. In the event of a tie,  the number of prizes issued is solely at the discretion of the prize issuer.
  12. Multiple votes from the same IP will be automatically disqualified.
  13. The judges’ decision is final and no correspondence will be entered into.
  14. Only those who live in jurisdictions in which this contest is legal may enter.
  15. Any breach of the rules and the prize will be awarded to the runner up.
  16. By entering the contest you agree to the rules, conditions of entry, and agree that your member alias and any submitted material can be used for promotional purposes by CodeProject.
  17. Entries shall be deemed to be submitted by the authorized account holder of the email address submitted at the time of entry unless clearly indicated otherwise. "Authorized account holder" is defined as the natural person who is assigned to an email address by an internet access provider, on-line service provider, or other organization (e.g. business, educational institution, etc.) that is responsible for assigning email addresses for the domain associated with the submitted email address.

Eligibility

This competition is open to software development professionals & enthusiasts who are of the age of majority in their jurisdiction of residence; however, residents of Quebec and of the following countries are ineligible to participate due to legal constraints: Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria. Employees (or a member of their immediate family) of CodeProject or any of their affiliates, subsidiaries, advertising or promotional agencies are also ineligible to participate. Void where prohibited by law.

How to Enter

Entry is by the submission process described above. Please read the submission requirements before submitting your entry and ensure the article is tagged with at least one of the tags corresponding to that competition's category.

Lost, late, misdirected, or illegible entries will be disqualified. Any entry containing content that CodeProject deems objectionable for any reason will be disqualified. All decisions of CodeProject with respect to any aspect of the competition, including, without limitation, the eligibility of entries, are final and binding on all entrants in all matters as they relate to this competition. CodeProject reserves its right to modify the Rules.

CodeProject assumes no responsibility for lost, late, delayed, destroyed or misdirected mail, voice messages, email or any computer errors or malfunctions. No correspondence will be entered into with entrants.

CodeProject does not assume any responsibility for incorrect or inaccurate capture of entry information, technical malfunctions, human or technical error, lost, delayed or garbled data or transmissions, omission, interruption, deletion, defect or failures of any telephone or computer line or network, computer equipment, software or any combination thereof. Entry materials/data that have been tampered with or altered are void. If for any reason, in the opinion of CodeProject in its sole discretion, the competition is not capable of running as originally planned, or if the administration, security, fairness, integrity or the proper conduct of the competition is corrupted or adversely affected, including by reason of infection by computer virus, bugs, tampering, unauthorized intervention, fraud, technical failures or any other causes beyond its control, CodeProject reserves its right to cancel, terminate, modify, amend, extend or suspend the competition including cancelling any method of entry, and select a winner from previously received eligible entries. CodeProject reserves its right in its sole discretion to disqualify any individual it finds to be tampering with the entry process or the operation of the competition or to be acting in violation of the Rules or otherwise in a disruptive manner. CodeProject reserves its right to seek remedies and damages to the fullest extent of the law for any attempts to deliberately damage the competition web site or to undermine the legitimate operation of this competition. CodeProject shall not be held responsible for any errors or negligence that may arise or occur in connection with the competition including any damage to an entrant's computer equipment, system, software or any combination thereof, as a result of their participation in this competition or from downloading any material from the competition website where applicable.

You must sign in to participate in this contest.
This contest has ended.
1 Aug - 31 Aug 2017

Advertise | Privacy | Cookies | Terms of Service
Web01-2016 | 2.8.180920.1 | Last Updated 1 Aug 2017
Copyright © CodeProject, 1999-2018
All Rights Reserved.
Layout: fixed | fluid