Click here to Skip to main content
13,739,054 members

Best C# Article of April 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 Apr - 30 Apr 2017

Current Entries

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

5 Apr 2017
Marc Clifton
A case study of taking a simple algorithm from prototype to "production" quality code.
12 Jun 2017
David A. Gray
Though useful and mostly harmless, pitfalls can lead unwary developers astray.
5 Oct 2017
tugrulGtx
Multi-device OpenCL load balancer and pipeliner for C# in few lines of code.
14 Apr 2017
Sergey Alexandrovich Kryukov
Filling one of the ugliest WPF gaps: Animatable EllipticalArcGeometry and EllipticalArcShape
23 Apr 2017
Kamran Bilgrami
C# 7.0 – Tuples Re-Engineered
10 Apr 2017
Robert_Dyball
Covering conversion from Angular 2.40 to Angular 4.0 + Publishing the ASP.Net Core / Angular 4 SPA to IIS using VS2017
19 Apr 2017
Robert_Dyball
Publishing the ASP.Net Core 1.1 / Angular 4 SPA to Azure and external IIS hosts. Also covering code cleanup, optimization, bundling and minification. Gulp, Grunt, Webpack and some architecture and development philosophy.
6 Apr 2017
Sergey Alexandrovich Kryukov
Focused TextBox blocks Undo/Redo invocation of other components, but the problem can be solved comprehensively
19 Apr 2017
Pankaj Kumar Choudhary
This is the second part of the series where we learn how setup an Angular 2 with .NET Core
2 Apr 2017
Anton Angelov
Improve your test framework so that your tests don't depend on hard-coded numbers. Use configuration files and change the values without compilation.
29 Apr 2017
Anton Angelov
Learn how to create original geek gifts for the most valuable people in your life. I will show you how to create a flowers surprise wrapped in a console application.
3 Apr 2017
ATUL_LOONA
ILP using Google linear optimizations
3 Apr 2017
Paulo Henrique S.S.
Processing data with Painless Scripting.
30 Dec 2017
MMaley
Using Selenium to automate the mint.com transaction page.
23 Apr 2017
netfed
To read out the static properties from the AWS SDK InstanceType class in order to get the AWS instance type names
9 Apr 2017
Kyriakos Akriotis
Seamsless S2S VPN without static IP and expensive VPN devices.
16 Apr 2017
Vadim Loboda
A way to deliver more details about an error or exception from an SQL Server database through an ASP.NET web application to a web client.
16 Apr 2017
Anton Angelov
Find how to create more refined and more maintainable page objects in WebDriver. These page objects will follow more closely the Single Responsibility Principle.
1 Apr 2017
Harald Heide Gundersen
Augmented Reality and Hololens is finally a reality and demand for skilled developers will soon emerge.
20 Apr 2017
Kurt Swendson
Deploy an asp.net core and mvc app to same beanstalk server
20 Apr 2017
levelnis
How to effectively unit test validation logic
26 Apr 2017
Wolfgang Foerster
Or why my guitar is always out of tune
1 Apr 2017
Sergey Alexandrovich Kryukov
Similar to ASCII Art, Unicode Art offers better tonal range, impressive look, and some fun on this sunny April day
20 Sep 2017
Yang Kok Wah
A tool to generate face images and animated gif files for different angles and lighting using only a single face image. Also includes Face Matcher using Microsoft Face API.
10 May 2017
Fred Song (Melbourne)
Inthis article, I talk about how to use ASP.NET Core MVC, Entity Framework Coreand Angular 2 to implement a CRUD SPA (Single Page Application).
27 Apr 2017
Bryian Tan
The author is sharing an article on how to create a warning banner and reusable Modal using ASP.NET MVC, jQuery, Bootstrap, AngularJS and AngularUI Bootstrap.
19 Oct 2018U
Yogi S.
Tutorial on implementing OpenWeatherMap API in ASP.NET MVC. It will teach how to get real time weather data of any city of the world.
4 Apr 2017
Robert_Dyball
Covering conversion from Angular 2.40 to Angular 4.0 + Publishing the ASP.Net Core / Angular 4 SPA to IIS using VS2015.
4 Apr 2017
Marco-Hans Van Der Willik
The pieces start coming together! Development of the SOLID Poker project continues, and the latest addition is a versatile engine to Generate Spec Based Poker Hands, allowing for extensive algorithm based testing.
2 Apr 2017
Wendelius
This is an alternative for "What You See Is What You Update"
22 Apr 2017
Juri Krivoruchko
This article shows real-world example of solving LP and NP optimization problems with Microsoft Solver Foundation
28 Apr 2017
Ganesh Prabu
Simple design idea to use Task class and implement batch processing of requests
11 Jun 2017
Jasper Lammers
Using Autocomplete in Windows Console Applications without losing key functions when using Console.Readkey().
2 Apr 2017
Adi_Mag
Consumer driven contract testing with pact
11 Apr 2017
Juan Francisco Morales Larios
Collection Visualizer for Visual Studio 2015 and Visual Studio 2017. Preview your collections in debug mode.
11 Jul 2017
Yaseer Mumtaz
This article will help the beginners to step-up Angular2 in ASP.NET MVC, create the RESTful APIs in ASP.NET MVC Web API and front end in Angular2.
12 Apr 2017
dsuryd
How to add asynchronous, real-time data stream from a cross-platform .NET back-end to your React web app without much effort
26 Apr 2017
Juan Francisco Morales Larios
The best and more completely way to validate our objects in .NET Framework.
4 Apr 2017
PP RhuM
Sharing code of a control used to links items of two listviews
13 Apr 2017
Karthik. A
SimpleRules.Net is a rules engine that works based on attributes decorated on the properties of a class
19 Apr 2018
Meshack Musundi
A WPF-MVVM chat application that uses SignalR for real-time communication
4 Apr 2017
Daniel Vaughan
Codon is a zero-dependency cross-platform MVVM framework for creating UWP, WPF, and Xamarin based applications.
23 Apr 2017
HR Rony
This article is about dependency, type of Dependency, its use, advantages and disadvantages; as well as it will cover Dependency Inversion, Inverse of Control, and IOC Framework.
7 May 2017
Livio Francescucci
A guided walk-through to build a simple Authorization Server and enable a Client Credentials workflow using Identity Server and .NET Core
25 Apr 2017
JamesHurburgh
Annotating parameters vs Rewriting methods for code readability
2 Apr 2017
Swinkaran
This practice demonstrates the basics of NHibernate and shows how to integrate NHibernate into .Net & MVC environment with an example CRUD application
5 Apr 2017
Juan Francisco Morales Larios
Useful Actions for debugger in System.Diagnostics
27 Apr 2017
Ramachandraiah Pandula
Retrieves height and width of the screen/monitor which is hosting the WPF window or windows control.
3 Apr 2017
Simon M Li
Show different languages of Windows common dialogs, like file open dialog, color palette and font picker
22 Sep 2017
Petru Faurescu
Walkthrough article to run LINQ queries with MongoDB, import data and define indexes
You must sign in to participate in this contest.
This contest has ended.
1 Apr - 30 Apr 2017

Current Participants

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

Adi_Mag
India India
No Biography provided
Anton Angelov
CEO Automate The Planet
Bulgaria Bulgaria
Anton Angelov is an IT Consultant and Quality Assurance Architect at Innovative Lab. He is passionate about automation testing and designing test harness and tools, having the best industry development practices in mind. In addition, he is an active blogger and the founder of Automate The Planet. He strives to make the site one of the leading authorities in Automation Testing by presenting compelling articles, inspiring ardent discussions amongst the community. He is also one of the most-rated-answer authors of questions about Test Automation Frameworks (WebDriver) on Stack Overflow.
ATUL_LOONA
India India
"It's impossible," said pride. "It's risky," said experience . "It's pointless," said reason "Give it a try." whispered the heart


Another piece of work here are links.

1) http://monk.parseapp.com/index.htm

2) http://picassa.parseapp.com/index.htm

3) http://circles.parseapp.com/

4) https://play.google.com/store/apps/details?id=com.complex

5) https://www.facebook.com/pages/MagForce/1406500216306629
Bryian Tan
Software Developer (Senior)
United States United States
I have over 10 years of experience working with Microsoft technologies. I have earned my Microsoft Certified Technology Specialist (MCTS) certification. I'm a highly motivated self-starter with an aptitude for learning new skills quickly.
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 A. Gray
Software Developer (Senior)
United States United States
I deliver robust, clean, adaptable, future-ready applications that are properly documented for users and maintainers. I have deep knowledge in multiple technologies and broad familiarity with computer and software technologies of yesterday, today, and tomorrow.

While it isn't perceived as sexy, my focus has always been the back end of the application stack, where data arrives from a multitude of sources, and is converted into reports that express my interpretation of The Fundamental Principle of Tabular Reporting, and are the most visible aspect of the system to senior executives who approve the projects and sign the checks.

While I can design a front end, I prefer to work at the back end, getting data into the system from outside sources, such as other computers, electronic sensors, and so forth, and getting it out of the system, as reports to IDENTIFY and SOLVE problems.

When presented with a problem, I focus on identifying and solving the root problem for the long term.

Specialties: Design: Relational data base design, focusing on reporting; organization and presentation of large document collections such as MSDS libraries

Development: Powerful, imaginative utility programs and scripts for automated systems management and maintenance

Industries: Property management, Employee Health and Safety, Services

Languages: C#, C++, C, VBA, Visual Basic, Perl, WinBatch, SQL, XML, HTML, Javascript

Outside Interests: Great music (mostly, but by no means limited to, classical), viewing and photographing sunsets and clouds, traveling by car on small country roads, attending museum exhibits (fine art, history, science, technology), long walks, especially where there is little or no motor traffic
dsuryd
United States United States
Full-stack s/w engineer, open source author.
Fred Song (Melbourne)
Software Developer (Senior)
Australia Australia
Fred Song is a senior software developer who lives in Melbourne, Australia. In 1993, he started Programming using Visual C++, Visual Basic, and Oracle Developer Tools. From 2003, He started with .Net using C#.

He is often working with software projects in different business domains based on different Microsoft Technologies like SQL-Server, C#, VC++, ASP.NET, WCF,WPF and Silverlight, although he also did some development works on IBM AS400.
Ganesh Prabu
Software Developer (Senior)
India India
No Biography provided
Harald Heide Gundersen
Software Developer (Senior) EVRY
Norway Norway
Knowledgeable of:

Visual Studio 2017
C#, VB, Java
MS SQL Server
Unity3D
Blender 3D
Adobe Photoshop, Illustrator Gimp etz.
Virtual- / Augmented- / Mixed- Reality
Developing for HTC Vive, Samsung Gear VR, Google Cardboard, Hololens
HR Rony
Engineer
United States United States
Motivated software developer in web/mobile application development, architecture design, and multi-layer implementation. Well-versed in multiple programming languages and platforms. Demonstrated success in UI, integration, and automated unit testing.
JamesHurburgh
Software Developer (Senior)
Australia Australia
I have been developing software for 22 years, 10 of those professionally. I'm interested in a wide range of topics but tend to focus on things such as efficiency and code readability.
Jasper Lammers
Software Developer
Netherlands Netherlands
Jasper is part of an amazing development team at Vanderlande, where he is a software developer working with C#. His main focus when coding is quality and readability, and he is experienced in a broad range of subjects (Software design, testing, UI, simulation, multithreading, networking and more).

His passion for programming can be traced back to his pre-professional days. Where, even as an elementary school student he could be found on the computer creating computer games. The reason? There is just no feeling like being able to think something up, create it, and then see others enjoy it.

Outside the office, he's a contributor to the Code Project and there is always a project he's working on. When he's not coding he likes to make and edit video’s, can discuss theoretical physics for hours and if you challenge him to a board game, he won’t say no. He can also frequently be found in the gym and travels when he can.
Juan Francisco Morales Larios
Software Developer (Senior) Cecabank
Spain Spain
MVP C# Corner 2017

MAP Microsoft Active Professional 2014

MCPD - Designing and Developing Windows Applications .NET Framework 4
MCTS - Windows Applications Development .NET Framework 4
MCTS - Accessing Data Development .NET Framework 4
MCTS - WCF Development .NET Framework 4
Juri Krivoruchko
Software Developer (Senior)
Ukraine Ukraine
I make software of the third layer of MOM for manufacturing companies (mainly in the food industry).
In spare time I manage the largest group of .NET developers in LinkedIn.
Kamran Bilgrami
Architect
Canada Canada
Kamran Bilgrami is a seasoned software developer with background in designing mission critical applications for carrier grade telecom networks. More recently he is involved in design & development of real-time biometric based security solutions. His areas of interest include .NET, software security, mathematical modeling and patterns.

He blogs regularly at http://WindowsDebugging.Wordpress.com
Karthik. A
Software Developer (Senior)
United States United States
Just another passionate software developer!

Some of the contributions to the open source world - a blog engine written in MVC 4 - sBlog.Net. Check it out here. For the codeproject article regarding sBlog.Net click here!

(Figuring out this section!)
Kurt Swendson
Software Developer (Senior) Ellie Mae
United States United States
No Biography provided
Kyriakos Akriotis
Architect
Germany Germany
I am a Microsoft Azure Architect living and working in Hamburg Germany. I have almost 20 years of experience in the Microsoft ecosystem. These days I mainly focus on Azure and cloud computing in general.
levelnis
Technical Lead Levelnis Ltd
United Kingdom United Kingdom
Follow along my journey as I create a newsletter about launching websites. Just message me with "I'm in" and I'll add you
Livio Francescucci
Architect EF Education First
Switzerland Switzerland
I'm a software engineer, passionate about software development since I was 8yrs old.
I (almost) always worked with Microsoft technologies: from C++, VB and classic ASP, in the early 2thousands I moved to .NET Technologies...
My best expertise is about C# development on Web & Windows platforms, software architectures and design / testing patterns.
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.
Marco-Hans Van Der Willik
Architect
South Africa South Africa
Marco-Hans architected and developed Business Integration Software that integrates South Africa's entire food retail industry with Rhodes Food Group. His software integrates 5 JSE Listed, Blue Chip Companies: Rhodes Food Group, Shoprite Holdings, Pic n Pay, Woolworths, The Spar Group.

No business challenge is beyond understanding; no solution is out of reach. Perfect engineering at every level is priority. Marco-Hans has architected and developed large scale solutions for local and international blue chip companies in industries ranging from banking through retail and manufacturing to distribution.
Meshack Musundi
Software Developer
Kenya Kenya
Meshack is a software developer with a passion for WPF.

Awards,

  • CodeProject MVP 2013
  • CodeProject MVP 2012
MMaley
United States United States
No Biography provided
netfed
Software Developer (Senior)
Norway Norway
Like programming in C#. Systems integration as a speciality. Love electronics and the lates rave, iot.
Pankaj Kumar Choudhary
Student
India India
Pankaj Kumar Choudhary loves Microsoft and Database technologies. He has experience on several database technology like SQL Server, MySQL, Oracle, MongoDB, PostgreSQL . He has knowledge of several technology like Asp.Net MVC, Entity Framework , Android, Php, AngularJS, Node.js, Angular2, React, Ionic and Android.
Paulo Henrique S.S.
Software Developer (Senior)
Australia Australia
Software developer. I've been working with the design and coding of several .NET solutions over the past 12 years.

Brazilian, living in Australia currently working with non-relational searching engine and BI.
Petru Faurescu
Architect
Denmark Denmark
My name is Petru Faurescu and I am a solution architect and technical leader. Technical blog: QAppDesign.com
PP RhuM
France France
No Biography provided
Ramachandraiah Pandula
United States United States
No Biography provided
Robert_Dyball
Software Developer (Senior)
Australia Australia
No Biography provided
Sergey Alexandrovich Kryukov
Architect
United States United States
No Biography provided
Simon M Li
China China
I am C++ developer with 14 years experience. I am good at native programming and debugging. I am studying .net now.
Swinkaran
Software Developer (Senior) Risk Wizard
Australia Australia
Swinkaran Alias Srikaran N Sarma
tugrulGtx
Turkey Turkey
No Biography provided
Vadim Loboda
Russian Federation Russian Federation
"It is best to erase all personal history, because that would make us free from the encumbering thoughts of other people."

Journey to Ixtlan by Carlos Castaneda
Wendelius
Architect
Europe Europe
This member does have enough reputation to be able to display their biography and homepage.






Wolfgang Foerster
Software Developer (Senior)
Germany Germany
I started programming in Basic, Pascal, Fortran and C in the late 1980s during my last semesters at the University of Bonn, Germany, where I studied Physics. As a professional software engineer I moved on to C++ and C# in the field of scientific data acquisition, data analysis and - my favourite - data visualization.

From the very start of my life as developer I have been a fan of graphics, especially 3D graphics. I have been working with OpenGL, XNA and WPF 3D. Planning to start with SharpDX in the near future.

Besides programming I love making music (guitar and violin), doing sports (rock climbing and volleyball) and spending time with my beloved family.
Yang Kok Wah
Software Developer (Senior)
Singapore Singapore
Yang Kok Wah is a Software Specialist in a leading System/Solution Integration Company in Singapore. He has more than 20 years experience in software development, specializing in areas of Biometrics, Smartcards and Image Processing. He has worked with VB, C#, Java and C/C++. He graduated from University of London with BSc(Hons) in Computing and also holds a Business Administration degree from National University of Singapore.

He likes Graphics, Games, AI and Image Processing.
Yaseer Mumtaz
Software Developer (Senior)
United States United States
A Programmer mostly working in .Net technologies and Client Side frameworks. My blogs: https://fullstackhub.io
Yogi S.
Software Developer (Senior)
United States United States
Programming is Fun.
I am a Senior Software Developer working in ASP.NET, MVC, C#, jQuery, HTML, Razor and more. I also write programming based tutorials in my own website, codeproject, dzone and few more. Please connect with my social accounts.

My favorite area is jQuery. Visit my website for jQuery Tutorials in basically every topics (beginners to advanced programmers)
Thanks !
You must sign in to participate in this contest.
This contest has ended.
1 Apr - 30 Apr 2017
You must sign in to participate in this contest.
This contest has ended.
1 Apr - 30 Apr 2017
You must sign in to participate in this contest.
This contest has ended.
1 Apr - 30 Apr 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 Apr - 30 Apr 2017

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