Click here to Skip to main content
15,881,812 members
This competition has ended

Best C# Article of May 2018

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.

Current Entries

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

Please Sign up or sign in to vote.
23 May 2018yuvalsol
Create professional-looking Excels (Filters, Charts, Pivot Tables) with EPPlus
Please Sign up or sign in to vote.
8 May 2018Igor Ladnik
Handy component for asynchronous TCP connection. With the same code it is available in .NET Core and Desktop versions.
Please Sign up or sign in to vote.
1 May 2018Shashangka Shekhar
In this post, we will get an overview and generate a basic level code using our database table column that will help in development.
Please Sign up or sign in to vote.
30 May 2018Bruce Greene
A plot control based on the WPF Helix Toolkit for visualizing a real-time stream of 3D locations
Please Sign up or sign in to vote.
15 May 2018Eric Lynch
Extends .NET reflection to decode the byte array returned by System.Reflection.MethodBody.GetILByteArray(), discusses the techniques to achieve this, and provides a brief primer on .NET reflection.
Please Sign up or sign in to vote.
12 Sep 2023Zijian
Code First approach for generating client APIs for ASP.NET Core Web API, in C# and in TypeScript for jQuery, Aurelia, Axios and Angular 2+.
Please Sign up or sign in to vote.
20 May 2018Eric Lynch
In this article, we explore the implementation of a Visual Studio editor that allows editing of a fictitious "Colorful" language. The editor minimally implements both syntax classification / coloring and IntelliSense completion.
Please Sign up or sign in to vote.
13 May 2018Nick Polyak
New simple but powerful IoC container
Please Sign up or sign in to vote.
26 May 2018Vladan.Obradovic
How to easily write a user's guide for your application using different file extensions
Please Sign up or sign in to vote.
10 May 2018Jack Xu, USA
This article provides a step-by-step tutorial on how to use ASP.NET Core MVC to create charts in web applications with data from either the client or server side.
Please Sign up or sign in to vote.
30 May 2018syed shanu
This article will explain in detail about, how to create an ASP.NET Core Blazor Filter and Sorting for HTML Table using Entity Framework and Web API.
Please Sign up or sign in to vote.
4 May 2018Marc Clifton
Examples in C#, C# with ClearScript + Javascript, and pure Javascript
Please Sign up or sign in to vote.
2 May 2018Clifford Nelson
The tip provides a behavior that will set a control to a default value when the Visibility changes
Please Sign up or sign in to vote.
8 Jul 2018Alen Toma
How to implement ObjectStatus with EntityWorker.Core and JavaScript
Please Sign up or sign in to vote.
2 May 2018OrlandoCurioso
Parse, scale and/or translate Path data to create new XAML data
Please Sign up or sign in to vote.
14 May 2018NobsterTheLobster
Consume data from a WCF Data service in a .NET client. MSAL OAuth 2.0
Please Sign up or sign in to vote.
28 May 2018Marco Bertschi
The presented code snippet compares two given files using the IEqualityComparer.
Please Sign up or sign in to vote.
9 May 2018N.Younaki
Passing custom attribute from Model Class in MVC ASP NET Core and built HTML atrribute accordingly into HTML element, Best Practice Input Masking
Please Sign up or sign in to vote.
16 May 2018Seenan Khalife
This article demonstrates how to implement force logout in Identity using SingalR.
Please Sign up or sign in to vote.
27 May 2018IAmJoshChang
How to rotate a Vector and move in the direction the player is facing in Unity
Please Sign up or sign in to vote.
29 May 2018Michael Dodaro
Use Bing SDK to send a POST request for Image Insights
Please Sign up or sign in to vote.
30 May 2018Suchit R. Khunt
In this article, the purpose of the code is to fetch contact details from iOS device.
Please Sign up or sign in to vote.
27 May 2018IAmJoshChang
How to create a menu that stays in your screen in Unity
Please Sign up or sign in to vote.
27 May 2018IAmJoshChang
How to implement Menu scrolling in Unity
Please Sign up or sign in to vote.
27 May 2018IAmJoshChang
How to add an outline effect on game objects
Please Sign up or sign in to vote.
27 May 2018IAmJoshChang
How to implement movement in Google Daydream
Please Sign up or sign in to vote.
27 May 2018IAmJoshChang
Introduction to Daydream Controller API and Swiping
Please Sign up or sign in to vote.
27 May 2018IAmJoshChang
How to set up the daydream controller
Please Sign up or sign in to vote.
11 May 2018Marcelo Ricardo de Oliveira
Most of the examples using Blazor I've seen so far include some simple pages, buttons and forms. So I decided to investigate whether it would work with my old Bricks game to help explore WebAssembly.
Please Sign up or sign in to vote.
17 May 2018syed shanu
In this article, we will see how to create a simple CRUD application for ASP.NET Core Blazor using Entity Framework and Web API.
Please Sign up or sign in to vote.
30 Apr 2018Nisamudheen
How to troubleshoot Registration Free COM using Tools
Please Sign up or sign in to vote.
15 May 2018SlavaUtesinov
How to deal with expression trees, presented at C# as generic Expression type, to achieve some practical goals, for example - translating them to specific language like T-SQL.
Please Sign up or sign in to vote.
28 May 2018Nikola M. Živković
In this article, we will go through some of the most common mistakes using asynchronous programming and give you some guidelines.
Please Sign up or sign in to vote.
7 May 2018syed shanu
Create Xamarin Android Single View app
Please Sign up or sign in to vote.
22 May 2018Arun Endapally
How to protect your source code from decompiling or reverse engineering
Please Sign up or sign in to vote.
30 May 2018mattkol
Build .NET/.NET Core HTML5 desktop apps using cross-platform native GUI API
Please Sign up or sign in to vote.
7 Apr 2019Stefan Timovski
A short tutorial on how to get started with creating SSMS extensions
Please Sign up or sign in to vote.
4 May 2018Marc Clifton
Fun with Tuples and Extension Methods to Implement a Match Function
Please Sign up or sign in to vote.
10 May 2018charles922
Math Function Tutor - Part 1
Please Sign up or sign in to vote.
9 May 2018jgauffin
Coderr automatically detects and analyzes errors so that you can focus on solving them.
Please Sign up or sign in to vote.
3 May 2018Packt Publishing
In this post, we are going to build a model of the Earth using C# programming.
Please Sign up or sign in to vote.
15 Jun 2018SirGrowns
A fully custom WPF window, with all the functionality you would expect
Please Sign up or sign in to vote.
20 May 2018Shashangka Shekhar
In this post, we are going to explore how a Single Page Application (SPA) sample can be put together using ASP.Net Core & Angular from scratch.
Please Sign up or sign in to vote.
27 Jun 2022Shao Voon Wong
Example of making HTTP REST Request in C++
Please Sign up or sign in to vote.
11 May 2018didourebai
In this post, I will explain how we can use the ORM Fluent NHibernate in the Framework Core 2.0 for any database.
Please Sign up or sign in to vote.
7 May 2018Nilesh Dhangare, Pune-India
RealTimeEventLogReader will show you how to read event logs in C# as soon as they are written in Windows Event Logs.
Please Sign up or sign in to vote.
4 May 2018siliconvideo
This article present code that implements a tab control with pop out windows
Please Sign up or sign in to vote.
7 May 2018Harshit Gindra
Understanding the use of multiple schedulers to work with one Quartz Scheduler application
Please Sign up or sign in to vote.
27 May 2018Ozesh Thapa
A PostgreSQL handler for C# developers for Rapid Development
Please Sign up or sign in to vote.
22 May 2018charles922
Math Function Tutor, Part 2

Current Participants

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

Software Developer (Senior)
Sweden Sweden
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect Thomson Reuters
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior) Greene & Morehead Engineering, Inc.
United States United States
Motion Commander Foundation (MCF) is a set of .NET libraries, documentation and examples that enable the rapid creation of sophisticated and professional C# or Visual Basic machine control applications.

MCF provides the infrastructure (data management, plotting, alarms, message logging, user login, internationalization, Modbus, MTConnect, etc) - so that you can focus on the business logic and user interface for your machine!

MCF is designed around Microsoft .NET best practices to be intuitive for experienced developers, and examples are provided that will enable even novice .NET developers to get started easily.
Software Developer (Senior)
United States United States
Chuck Peasley is a developer in Orange County, CA
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.
Technical Lead
Canada Canada
I am Rebaï Hamida, Microsoft MVP in Visual Studio and Development Technologies.
I'm a software architect and developer who like to build open source projects, writing articles, learning and teaching best practices. you can find out in my blog : http://hamidarebai.blogspot.com/

Innovative Software engineer : hands-on, competent software engineer, passionate and proficient C# developer, offering more than seven years of experience in the full software development lifecycle – from concept through delivery of next-generation applications and customized solutions, producing code to a consistently high standard and testing software across a variety of platforms.
Expert in advanced development methodologies, tools and processes contributing to the design and roll-out of cutting-edge software applications.
Known for excellent troubleshooting skills – able to analyze code and engineer well-researched, cost-effective and responsive solutions.


Success is only a consequence of a continuous work and remarkable intelligence.
I believe that I have to make a change in my country, I can’t live without leaving my footprint.
Software Developer (Senior)
United States United States
Eric is a Senior Software Engineer with 30+ years of experience working with enterprise systems, both in the US and internationally. Over the years, he’s worked for a number of Fortune 500 companies (current and past), including Thomson Reuters, Verizon, MCI WorldCom, Unidata Incorporated, Digital Equipment Corporation, and IBM. While working for Northeastern University, he received co-author credit for six papers published in the Journal of Chemical Physics. Currently, he’s enjoying a little time off to work on some of his own software projects, explore new technologies, travel, and write the occasional article for CodeProject or ContentLab.
Software Developer
United States United States
I'm an aspiring Developer recently started more and more interested towards ASP.NET and related technologies. I tend to love playing around with different technologies and get more hands on experience by working on different projects. My prime interest lies in Mobile Development(both native and hybrid) and have developed few basic application during my course of studies and work. Always up for a challenge and plan on to finish it through best possible approach.
United States United States
Joshua is a passionate software developer working in the Seattle area. He also has experience with developing web and mobile applications, having spent years working with them.

Joshua now finds his spare coding time spent deep in the trenches of VR, working with the newest hardware and technologies. He posts about what he learns on his personal site, where he talks mostly about Unity Development, though he also talks about other programming topic that he finds interesting.

When not working with technology, Joshua also enjoys learning about real estate investment, doing physical activities like running, tennis, and kendo, and having a blast with his buddies playing video games.
Software Developer (Senior)
Israel Israel


  • Nov 2010: Code Project Contests - Windows Azure Apps - Winner
  • Feb 2011: Code Project Contests - Windows Azure Apps - Grand Prize Winner


https://gincker.com
United States United States
Jack Xu has a PhD in theoretical physics. He has over 25-year programming experience in Basic, FORTRAN, C, C++, Matlab, C#, WPF, and R, specializing in numerical computation methods, algorithms, physical modeling, computer aided design tools, graphical user interfaces, 3D graphics, and database systems. In recent years, he works as a quant analyst and developer on Wall Street and is responsible for quantitative analysis, trading strategy development, and real-time trading system implementation. He has published 9 books on C#, .NET chart/graphics programming, numerical methods, and quantitative finance. Recently, he developed a new graphics creation and technical analysis platform called Gincker.com, which allows users to create advanced charts and graphics just by typing in a mathematical formula or loading a dataset without the need to write a single line of code or rely on any special software package.
Founder 1TCompany AB
Sweden Sweden
Architect Interacx
United States United States
Blog: https://marcclifton.wordpress.com/
Home Page: http://www.marcclifton.com
Research: http://www.higherorderprogramming.com/
GitHub: https://github.com/cliftonm

All my life I have been passionate about architecture / software design, as this is the cornerstone to a maintainable and extensible application. As such, I have enjoyed exploring some crazy ideas and discovering that they are not so crazy after all. I also love writing about my ideas and seeing the community response. As a consultant, I've enjoyed working in a wide range of industries such as aerospace, boatyard management, remote sensing, emergency services / data management, and casino operations. I've done a variety of pro-bono work non-profit organizations related to nature conservancy, drug recovery and women's health.
Instructor / Trainer Alura Cursos Online
Brazil Brazil
Switzerland Switzerland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Technical Writer Steyer Associates
United States United States
http://mikedodaro.net
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Architect AWebPros
United States United States
I am a software architect and a developer with great passion for new engineering solutions and finding and applying design patterns.

I am passionate about learning new ways of building software and sharing my knowledge with others.

I worked with many various languages including C#, Java and C++.

I fell in love with WPF (and later Silverlight) at first sight. After Microsoft killed Silverlight, I was distraught until I found Avalonia - a great multiplatform package for building UI on Windows, Linux, Mac as well as within browsers (using WASM) and for mobile platforms.

I have my Ph.D. from RPI.

here is my linkedin profile
Software Developer (Senior) Vega IT Sourcing
Serbia Serbia
Read more at my blog: https://rubikscode.net
Software Developer
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
United States United States
Shooting for the Moon.
Ireland Ireland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Germany Germany
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer Assurance IQ
Nepal Nepal
I am a Software Engineer and a developer by profession.

The following things describes me:
1. I am a real time/run time developer : Basically learn and implement things on the fly.
2. Definitely not a technology racist : Love to work and explore any technology that i come across.
3. Prefer Beer over H2O : Code with passion and for fun

I am interested in Research & Development based tasks, exploring, experimenting and trying out new things.
Technologies i have been using up until now are C#, ASP.NET, Win Services, Web Services, Restful Web API, Windows Application, Windows Phone Application, Store Apps, couple of JavaScript frameworks, Xamarin Forms, NodeJS, React, ReactNative, AngularJS, SQL Server, MongoDB, Postgres etc.
United Kingdom United Kingdom
Founded in 2004 in Birmingham, UK, Packt's mission is to help the world put software to work in new ways, through the delivery of effective learning and information services to IT professionals.

Working towards that vision, we have published over 5000 books and videos so far, providing IT professionals with the actionable knowledge they need to get the job done - whether that's specific learning on an emerging technology or optimizing key skills in more established tools.
Technical Lead
United Arab Emirates United Arab Emirates
Full Stack Developer, Technology Enthusiast and Passionate programmer with zeal to learn new technology and excel in existing. Expertise in enterprise applications across multiple domains and industries.
Software Developer (Senior)
Singapore Singapore
Shao Voon is from Singapore. His interest lies primarily in computer graphics, software optimization, concurrency, security, and Agile methodologies.

In recent years, he shifted focus to software safety research. His hobby is writing a free C++ DirectX photo slideshow application which can be viewed here.
Software Developer (Senior) s3 Innovate Pte Ltd
Bangladesh Bangladesh
Hi, I am Shashangka Shekhar,

Working with Microsoft Technologies. Since March 2011, it was my first step to working with Microsoft Technologies, achieved bachelor’s degree on Computer Science from State University of Bangladesh(Dhaka). Have 12+ years of professional experience, currently working as Technical Lead at Surbana Jurong Private Limited.

I believe in desire of learning & also love to be a part of .Net Community by sharing knowledge’s.
Engineer Renesas
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
United Kingdom United Kingdom
I am a software developer for a firm of accountants with a background in IT support. I believe that user experience comes before all else - without user engagement your best work will never be appreciated.
Other Other
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer Codera
Macedonia, the Republic of Macedonia, the Republic of
Stefan Timovski is just a guy struggling with the idea that he has to write his bio in the third person. Confused by this, he decided to become a software engineer with the hopes of moving away as far as possible from the world of bios. I guess he wasn’t very successful.
Software Developer (Senior) Riowebs
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Team Leader
India India
Microsoft MVP | Code Project MVP | CSharp Corner MVP | Author | Blogger and always happy to Share what he knows to others. MyBlog

My Interview on Microsoft TechNet Wiki Ninja Link
Retired Serbia BroadBand
Serbia Serbia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Web Developer
Israel Israel
https://github.com/yuvalsol
Software Developer
Australia Australia
I started my IT career in programming on different embedded devices since 1992, such as credit card readers, smart card readers and Palm Pilot.

Since 2000, I have mostly been developing business applications on Windows platforms while also developing some tools for myself and developers around the world, so we developers could focus more on delivering business values rather than repetitive tasks of handling technical details.

Beside technical works, I enjoy reading literatures, playing balls, cooking and gardening.

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 May - 31 May 2018