Click here to Skip to main content
14,270,447 members

Best C# Article of September 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.

Current Entries

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

20 Oct 2017
kusnaditjung
Web specification and framework
9 Sep 2017
Gamil Yassin
This is a series of articles demonstrating .NET AI library from scratch
8 Sep 2017
Daniele Fontani
.net core showcase: learn basics implementing a toy tool
10 Oct 2017
IAmJoshChang
Attacking enemies, health system and death animation in Unity
27 May 2018
Yuancai (Charlie) Ye
Application of SocketPro onto various databases for continuous inline request/result batching and real-time stream processing with bi-directional asynchronous data transferring
8 Sep 2017
CoderGirl42
An extensible procedural generation framework
8 Sep 2017
Tahir Naushad
How to implement bearer authentication in ASP.NET Core 2.0. Continue reading...
10 Oct 2017
IAmJoshChang
Going through the Unity Ball tutorial
2 Sep 2017
Clifford Nelson
Presents a very simple control with an IsChecked property that allows definition of two different contents depending of if IsChecked property value is true or false
5 Sep 2017
Tahir Naushad
How to handle concurrency in ASP.NET Core Web API. Continue reading...
1 Sep 2017
Tahir Naushad
How to implement versioning in ASP.NET Core Web API. Continue reading...
10 Oct 2017
IAmJoshChang
How to create a VERY simple first person shooter
10 Sep 2017
Сергій Ярошко
How to create an .NET user control combining several radio buttons with a border and a caption and provide it with handy support of Visual Studio at design time.
5 Sep 2017
dimpant
Learn how to properly use the NotifyDataSetChanged method of the ListViewAdapter to remove items from a ListView
10 Oct 2017
IAmJoshChang
How to create AI movements for enemies in Unity
10 Oct 2017
IAmJoshChang
Survival shooter - tutorial II
10 Oct 2017
IAmJoshChang
Survival Shooter - tutorial I
10 Oct 2017
IAmJoshChang
Going through the Unity Space Shooter
10 Oct 2017
IAmJoshChang
Going through the Unity space shooter tutorial
4 Sep 2017
Tahir Naushad
How to implement asynchronous messaging using ASP.NET Core Web API. Continue reading...
5 Sep 2017
Tahir Naushad
How to implement CRUD using Entity Framework Core and ASP.NET Core. Continue reading
8 Sep 2017
Brady Kelly
How to improve the naming and change the naming and schema of all the Identity tables like AspNetUsers
11 Sep 2017
Alen Toma
Entity Framework Dynamic include hierarchy
10 Oct 2017
IAmJoshChang
How to set up a weapon
10 Oct 2017
IAmJoshChang
How to create a character in a first person shooter
10 Oct 2017
IAmJoshChang
Going through the Unity Space Shooter - tutorial II
10 Oct 2017
IAmJoshChang
Adding shooting, hit, and more walking sound effects!
9 Sep 2017
Tahir Naushad
How to prevent insecure direct object reference in ASP.NET Core. Continue reading...
12 Sep 2017
amartya mandal
Facebook & LinkedIn login with Firebase and Xamarin
12 Sep 2017
Tahir Naushad
How to use Content-Security-Policy header in ASP.NET Core to prevent XSS attacks. Continue reading...
19 Sep 2017
SlavaUtesinov
Practical guidance how to use Effort library in your unit tests including workaround with views and triggers and some pitfalls.
29 Sep 2017
Laszlo Voros
We force to hide an empty string-property by serializing with EmitDefaultValue
28 Sep 2017
adityasahver
This article is for the developers who are developing IoT hub applications and are looking for authenticating the Communication Channel between the Device and IoT hub.
6 Sep 2017
Debendra0256
In this article we will learn to create MVC project from scratch following n-tier architecture.Along with this we will focus on designing views.
16 Sep 2017
Dirk Bahle
A list of advanced tips & tricks on WPF TreeViews
12 Dec 2017
Valerii Tereshchenko
Example of implementing logging using RealProxy class
28 Dec 2017
lepipele
Detailed guide on building C# ASP.NET website checkout that accepts Bitcoin (BTC), Litecoin (LTC), Ethereum (ETH) and other Crypto Currencies.
30 Sep 2017
massimiliano aronica
An HtmlHelper for an extended DropDownList, working with custom objects and displaying html options
12 Sep 2017
syed shanu
In this article, let’s see on how to getting started with ASP.NET Core and using Web API.
29 Sep 2017
Geek2Simon
The simple native DLL (made in VC++) uses Win32 Core API to capture the live audio signals from the default audio device (speaker or headphone). A little C# console EXE grabs the signal from the DLL and set the volume bars up/down in real time. It's fun to watch and easy to understand.
2 Oct 2017
João Simões
Adding support for Dependency Injection, Logging and Configurations in console applications using the package SimpleSoft.Hosting
9 Sep 2017
Gamil Yassin
This is a series of articles demonstrating .NET AI library from scratch
12 Sep 2017
Tahir Naushad
How to use Identity Server 4 with ASP.NET Core 2.0. Continue reading...
10 Oct 2017
IAmJoshChang
How to use Real enemy asset from the Unity Asset Store
10 Oct 2017
IAmJoshChang
How to create an enemy
14 Sep 2017
Clifford Nelson
A custom control that adapts to the datatype of the source.
11 Mar 2018
RickZeeland
PostgreSQL notifications Windows Forms application
26 Sep 2017
Clifford Nelson
1 alternative  
A behavior that allows the developer to bind an IList to SelectedItems of a ListBox or MultiSelector.
29 Sep 2017
Gamil Yassin
This is a series of articles demonstrating .NET AI library from scratch
8 Sep 2017
Tahir Naushad
How to implement cookie authentication in ASP.NET Core 2.0 Continue reading...

Current Participants

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

Brady Kelly
Founder Erisia Web Development
South Africa South Africa
I am a software developer in Johannesburg, South Africa. I specialise in C# and ASP.NET MVC, with SQL Server, with special fondness for MVC and jQuery. I have been in this business for about eighteen years, and am currently trying to master Angular 4 and .NET Core, and somehow find a way to strengthen my creative faculties.
- Follow me on Twitter at @bradykelly
adityasahver
Software Developer
India India
No Biography provided
Alen Toma
Software Developer (Senior)
Sweden Sweden
No Biography provided
amartya mandal
United States United States
11+ yrs. of Architecture, Application Development and implementation experience in Microsoft Technologies.Involved in various stages of System Development Life Cycle including Analysis, Design, Development, and Maintenance.A technology enthusiast with proven ability to direct a wide range of technology & business critical projects and complex deployments.

Windows Azure Experience-
5+ years of experience on designing and implementing windows cloud (Azure) based applications & solutions. Defined cloud adoption road maps and runways for various clients, help to initialize adoption strategies based on existing governance, security & compliance policies.

Hands On - Azure IaaS, PaaS, storage, network and database.
Azure PaaS services like web sites, web/worker roles, SQL. Azure database, storage, service bus. Understanding of security requirements for cloud. Highly availability, DR solutions in Azure. Assessing applications for cloud adoption. Azure AD, AD Connect Claim based authentication with ACS.

High Performance Computing-HPC
Hands on experience of development and setting up HPC grid & cluster on azure as well as on premise to cloud hybrid mode with Microsoft HPC pack 2012 R2.
Provides consulting support to clients on HPC resources, which can include porting, palatalization, tuning, using software libraries, storage management, and optimization.
Collaborates with systems staff on the design, configuring, and support of a heterogeneous mix of multi-core compute clusters. Manages diagnosis and correction of applications issues causing poor performance; develops benchmarks.
Maintains close learning and working relationships with industry specialists, vendors, communities, working groups, etc. Collaborates with information technology staff to improve the performance of existing HPC resources.
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.
CoderGirl42
Software Developer GalacticSoft
United States United States
No Biography provided
Daniele Fontani
Chief Technology Officer
Italy Italy
I'm senior developer and architect specialized on portals, intranets, and others business applications. Particularly interested in Agile developing and open source projects, I worked on some of this as project manager and developer.

My programming experience include:

Frameworks \Technlogies: .NET Framework (C# & VB), ASP.NET, Java, php
Client languages:XML, HTML, CSS, JavaScript, angular.js, jQuery
Platforms:Sharepoint,Liferay, Drupal
Databases: MSSQL, ORACLE, MYSQL, Postgres
Debendra0256
Software Developer
India India
Achievements:

* C# Cornor MVP-2015
* C# Cornor MVP-2016
* C# Cornor MVP-2017 

dimpant
Software Developer (Senior)
Greece Greece
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
Gamil Yassin
Engineer
Egypt Egypt
Electrical engineer, programmer in my free time.
Geek2Simon
Software Developer
Canada Canada
Just A Geek
Blog: geek2.info

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.
João Simões
Architect
Portugal Portugal
No Biography provided
kusnaditjung
Software Developer (Senior) EMIS
United Kingdom United Kingdom
I work and live in Leeds, UK.
I currently work for a healthcare company. My current stack is Microsoft.NET (Winform, ASP.NET MVC, Web Service, WCF, WPF, Web API). I had some Java and Delphi experiences in the past. I did Unix, Perl script, Haskell, Prolog, Latex as part of my master degree. Fluent in healthcare standards such as SNOMED CT, CDA, and FHIR.
Laszlo Voros
Software Developer (Senior)
Germany Germany
No Biography provided
lepipele
Chief Technology Officer
United States United States
If you liked this article, consider reading other articles by me. For republishing article on other websites, please contact me by leaving a comment.
No Biography provided
RickZeeland
Software Developer
Netherlands Netherlands
Software developer in the Netherlands, currently working on Video Surveillance applications.
Experience: C#, C++, VB, ASP, SQL Server, PostgreSQL.
It all started with Black&White, no not the whiskey but the Sinclair ZX81 followed by several Atari's and PC's. The journey continues ...
SlavaUtesinov
Russian Federation Russian Federation
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
Tahir Naushad
Software Developer (Senior)
United Kingdom United Kingdom
Qualified and skilled professional with experience working as a Software Developer, Technical Lead and Architect. I have worked on windows, web and cloud applications using the latest set of technologies. I have lead teams using agile methodologies and trained developers in writing well-designed, maintainable and secure software applications.
Valerii Tereshchenko
Software Developer
United States United States
Full Stack Software Developer with major experience in enterprise software development for different industries.
Have a experience in wide range of technologies:
- JavaScript: React, Redux, TypeScript, Saga, Thunk, Cordova, Jest, Enzyme, Material Design, React-MD, Semantic UI, WebStorm
- .Net: C#, WPF, WCF, Windows Forms
- Java: Spring, Spring Boot, Spring Cloud, Spring Data, microservices, jUnit, Mochito, IntelliJ
- DB: Kafka, Oracle, SQL Server, PL/SQL
Yuancai (Charlie) Ye
Software Developer (Senior)
United States United States
Yuancai (Charlie) Ye, an experienced C/C++ software engineer, lives in Atlanta, Georgia. He is an expert at continuous inline request/result batching, real-time stream processing, asynchronous data transferring and parallel computation for the best communication throughput and latency. He has been working at SocketPro (https://github.com/udaparts/socketpro) for more than fifteen years.
Сергій Ярошко
Instructor / Trainer Ivan Franko National University of Lviv
Ukraine Ukraine
Head of Programming department in Ivan Franko National University of Lviv, UKRAINE

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 Sep - 30 Sep 2017