Click here to Skip to main content
14,271,759 members

Best C# Article of May 2018

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.

Current Entries

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

23 May 2018
yuvalsol
Create professional-looking Excels (Filters, Charts, Pivot Tables) with EPPlus
8 May 2018
Igor Ladnik
Handy component for asynchronous TCP connection. With the same code it is available in .NET Core and Desktop versions.
1 May 2018
Shashangka 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.
15 May 2018
Eric 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.
20 May 2018
Eric 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.
13 May 2018
Nick Polyak
New simple but powerful IoC container
10 May 2018
Jack 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.
20 May 2018
Zijian
Code First approach for generating client APIs for ASP.NET Core Web API, in C# and in TypeScript for jQuery and Angular 2+
26 May 2018
Vladan.Obradovic
How to easily write a user's guide for your application using different file extensions
30 May 2018
syed 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.
4 May 2018
Marc Clifton
Examples in C#, C# with ClearScript + Javascript, and pure Javascript
2 May 2018
Clifford Nelson
The tip provides a behavior that will set a control to a default value when the Visibility changes
8 Jul 2018
Alen Toma
How to implement ObjectStatus with EntityWorker.Core and JavaScript
2 May 2018
OrlandoCurioso
Parse, scale and/or translate Path data to create new XAML data
14 May 2018
NobsterTheLobster
Consume data from a WCF Data service in a .NET client. MSAL OAuth 2.0
28 May 2018
Marco Bertschi
The presented code snippet compares two given files using the IEqualityComparer.
9 May 2018
N.Younaki
Passing custom attribute from Model Class in MVC ASP NET Core and built HTML atrribute accordingly into HTML element, Best Practice Input Masking
17 May 2018
Shao Voon Wong
Example of making HTTP REST Request in C++
16 May 2018
Seenan Khalife
This article demonstrates how to implement force logout in Identity using SingalR.
29 May 2018
Michael Dodaro
Use Bing SDK to send a POST request for Image Insights
30 May 2018
Suchit R. Khunt
In this article, the purpose of the code is to fetch contact details from iOS device.
11 May 2018
Marcelo Ricardo de Oliveira
Developing Single Page Applications with C# Code and Blazor
17 May 2018
syed 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.
30 Apr 2018
Nisamudheen
How to troubleshoot Registration Free COM using Tools
15 May 2018
SlavaUtesinov
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.
7 May 2018
syed shanu
In this article we will see in detail on how to create our Xamarin Android Single View App
7 Apr 2019
Stefan Timovski
A short tutorial on how to get started with creating SSMS extensions
28 May 2018
Nikola M. Živković
In this article, we will go through some of the most common mistakes using asynchronous programming and give you some guidelines.
30 May 2018
mattkol
Build .NET/.NET Core HTML5 desktop apps using cross-platform native GUI API
24 Oct 2018
wqaxs36
This article will help you to understand how to communicate with the USB devices using WinAPI in C#
10 May 2018
charles922
Math Function Tutor - Part 1
9 May 2018
jgauffin
Coderr automatically detects and analyzes errors so that you can focus on solving them.
3 May 2018
Packt Publishing
In this post, we are going to build a model of the Earth. We will use actual NASA data to set up the size and texture of the Earth. We will animate the planet's spin and orbit using C# programming.
4 May 2018
Marc Clifton
Fun with Tuples and Extension Methods to Implement a Match Function
15 Jun 2018
SirGrowns
A fully custom WPF window, with all the functionality you would expect
22 May 2018
Arun Endapally
How to protect your source code from decompiling or reverse engineering
20 May 2018
Shashangka 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.
11 May 2018
didourebai
In this post, I will explain how we can use the ORM Fluent NHibernate in the Framework Core 2.0 for any database.
7 May 2018
Nilesh Dhangare, Pune-India
RealTimeEventLogReader will show you how to read event logs in C# as soon as they are written in Windows Event Logs.
7 May 2018
Harshit Gindra
Understanding the use of multiple schedulers to work with one Quartz Scheduler application
30 May 2018
Bruce Greene
A plot control based on the WPF Helix Toolkit for visualizing a real-time stream of 3D locations
4 May 2018
siliconvideo
This article present code that implements a tab control with pop out windows
22 May 2018
charles922
Math Function Tutor, Part 2
27 May 2018
Ozesh Thapa
A PostgreSQL handler for C# developers for Rapid Development
17 May 2018
Clifford Nelson
This tip provides examples of how to use the different arguments of the Linq GroupBy extension method.
6 May 2018
Majdi Saibi
Automating code deployment with Github and Azure
21 May 2018
Nikola M. Živković
Asynchronous Programming in .NET – Motivation and Unit Testing
17 Jun 2018
Gunnar S
Moving ASP.NET WebAPI code to Service Fabric Cluster
2 Jun 2018
Peter Sun (247)
Create a Twitter Reader with Microsoft Prism Library 6.3 for WPF
27 May 2018
IAmJoshChang
How to create a menu that stays in your screen in Unity

Current Participants

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

Alen Toma
Software Developer (Senior)
Sweden Sweden
No Biography provided
Arun Endapally
Technical Lead Thomson Reuters
India India
No Biography provided
Bruce Greene
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.
charles922
Software Developer (Senior)
United States United States
Chuck Peasley is a developer in Orange County, CA
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.
didourebai
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.
Eric Lynch
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.
Gunnar S
Software Developer (Senior)
Sweden Sweden
I work as Senior Developer mainly in Microsoft environment and my strenghts are SQL, C# and ReactJS.
Harshit Gindra
Web 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.
IAmJoshChang
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.
Igor Ladnik
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


Jack Xu, USA
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.
jgauffin
Founder 1TCompany AB
Sweden Sweden
Majdi Saibi
Software Developer Riva CRM Integration
Canada Canada
.NET Developer currently working as a Software Developer with Riva CRM Integration.
Microsoft Certified Solutions Associate for web applications.
Machine Learning fan and bots maker.
Marc Clifton
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.
Marco Bertschi
Software Developer
Switzerland Switzerland
I'm a young Software Engineer. Whilst I may accept a 'status quo' as given, it's my responsibility to improve it as soon as the opportunity arises.
Very familiar with the .Net framework since it has been the underlying foundation for most of my professional work so far. I'm that kind of guy who gets stuff done, while I may also improve the way things work whilst I'm at it. Generally can get along well with most people I meet as a professional.
Fervent volunteer firefigter, captain-ranked air force militia spec officer.
Great friend and generally nice to have me around - For a talk, a beer, or a bonfire (I might as well do all of those things combined). Oh, and I really love music - Rock & country that is, mostly.
mattkol
Architect
United States United States
No Biography provided
Michael Dodaro
Technical Writer Steyer Associates
United States United States
http://mikedodaro.net
N.Younaki
Canada Canada
No Biography provided
Nick Polyak
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 have my Ph.D. from RPI.

here is my linkedin profile - I'll be happy to connect!
Nikola M. Živković
Software Developer (Senior) Vega IT Sourcing
Serbia Serbia
Read more at my blog: https://rubikscode.net
Nilesh Dhangare, Pune-India
Software Developer
India India
No Biography provided
Nisamudheen
Software Developer
India India
Shooting for the Moon.
No Biography provided
OrlandoCurioso
Germany Germany
No Biography provided
Ozesh Thapa
Software Developer Braindigit IT Solution
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.
Packt Publishing
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.
Peter Sun (247)
Software Developer (Senior)
United States United States
I have been a full stack Windows developer for 20+ years and is based in Orange County, California. Currently, I am focusing on C#, WPF, Azure, .NET Core, and Xamarin.
Seenan Khalife
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.
Shao Voon Wong
Software Developer (Senior)
Singapore Singapore
Shao Voon is from Singapore. CodeProject awarded him a MVP award in recognition of his article contributions in 2019. In his spare time, he prefers to writing application based on 3rd party library than writing his own library. His interest lies primarily in computer graphics, software optimization, security and Agile methodologies.

One of these days, you can find him working on a DirectX based slideshow app called Mandy Frenzy.

You can reach him by sending a message on CodeProject or at his Coding Tidbit Blog!
Shashangka Shekhar
Technical Lead Royal Green 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 7+ years of professional experience, currently working as Development Lead at Royal Green Ltd.

I believe in desire of learning & also love to be a part of .Net Community by sharing knowledge’s.
siliconvideo
Software Developer (Senior) Analog Devices Inc.
United States United States
No Biography provided
SirGrowns
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.
SlavaUtesinov
Russian Federation Russian Federation
No Biography provided
Stefan Timovski
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.
Suchit R. Khunt
Software Developer (Senior) Riowebs
India India
No Biography provided
syed shanu
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
Vladan.Obradovic
Retired Serbia BroadBand
Serbia Serbia
No Biography provided
wqaxs36
France France
No Biography provided
yuvalsol
Web Developer
Israel Israel
No Biography provided
Zijian
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