Click here to Skip to main content
15,946,342 members
This competition has ended

Best C# Article of October 2017

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.
22 Oct 2017thangchung
Learn to organize clean architecture to modular patterns
Please Sign up or sign in to vote.
9 Jan 2023Graeme_Grant
This article comprehensively covers the Microsoft ClickOnce Installer with a bare bones WinForm/WPF C#/VB Silent Updater framework plus covers how to implement, troubleshoot, test locally, to release.
Please Sign up or sign in to vote.
24 Oct 2017Emmanuel Nuyttens
Example on how to use Event Sourcing in C#
Please Sign up or sign in to vote.
27 May 2020Theo Kand
An original AngularJS implementation of the most famous video game ever
Please Sign up or sign in to vote.
12 Oct 2017matt warren
Analyzing C# code on GitHub with BigQuery
Please Sign up or sign in to vote.
1 Jun 2018User 6679439
Comprehensive unit parsing library
Please Sign up or sign in to vote.
11 Oct 2017Clifford Nelson
This tip presents a way to display checkboxes for selection of ListBox Items instead of the default highlighting
Please Sign up or sign in to vote.
30 Oct 2017Kornfeld Eliyahu Peter
“Beware the Jabberwock, my son! The jaws that bite, the claws that catch! Beware the Jubjub bird, and shun The frumious Bandersnatch!” - LEWIS CARROLL
Please Sign up or sign in to vote.
16 Oct 2017Anton Kleshchev
Coding jQuery widget to accept Bitcoin payments
Please Sign up or sign in to vote.
14 Dec 2019Alexandre Bencz
With this new OrangeC/C++ compiler back-end, you can compile your C code to .NET.
Please Sign up or sign in to vote.
16 Oct 2017IAmJoshChang
Adding new bandit enemy
Please Sign up or sign in to vote.
17 Oct 2017Clifford Nelson
A Behavior is presented that will ensure that only one CheckBox (ToggleButton) will be checked with the same GroupName within the visual tree of the control to which this behavior is attached.
Please Sign up or sign in to vote.
24 Oct 2017DataBytzAI
Part 1 of 'Making an e-Learning platform for Microsoft Azure'
Please Sign up or sign in to vote.
24 Oct 2017Mike DiRenzo
Single C# class file that can be dropped into any project and used right away
Please Sign up or sign in to vote.
10 Oct 2017IAmJoshChang
How to create weapon ammo in Unity
Please Sign up or sign in to vote.
1 Oct 2017#realJSOP
This is an alternative for "Custom exceptions without constructor tedium"
Please Sign up or sign in to vote.
10 Oct 2017IAmJoshChang
Fixing Game Object Collider in Unity
Please Sign up or sign in to vote.
10 Oct 2017IAmJoshChang
How to create game over UI in Unity
Please Sign up or sign in to vote.
10 Oct 2017IAmJoshChang
How to create the Game End state and Game Over animation
Please Sign up or sign in to vote.
13 Oct 2017IAmJoshChang
How to create Victory state after we defeat all enemies
Please Sign up or sign in to vote.
14 Oct 2017IAmJoshChang
How to add missing audio, UI, and create enemy victory state
Please Sign up or sign in to vote.
18 Oct 2017IAmJoshChang
How to create a time score system in Unity
Please Sign up or sign in to vote.
5 Oct 2017Vijay Andugula
Example for database Update and Insert using Angular, Web APIs
Please Sign up or sign in to vote.
6 Oct 2017User 1043264
How to use Docker and TeamCity to implement continuous integration for ASP.NET Core applications. Continue reading...
Please Sign up or sign in to vote.
10 Oct 2017IAmJoshChang
How to create a spawning system for enemies in Unity
Please Sign up or sign in to vote.
17 Oct 2017IAmJoshChang
How to add a new tank enemy
Please Sign up or sign in to vote.
18 Oct 2017IAmJoshChang
How to spawn new enemies in Unity and deal with "Ghost" colliders
Please Sign up or sign in to vote.
24 Oct 2017IAmJoshChang
How to save and load data in Unity
Please Sign up or sign in to vote.
2 Oct 2017Rion Williams
Hands-free security scanning within .NET applications
Please Sign up or sign in to vote.
2 Oct 2017Kamran Bigdely-Shamloo
This short tip teaches you how to comment a gameObject in Unity game engine for documentation purposes.
Please Sign up or sign in to vote.
10 Oct 2017IAmJoshChang
How to shoot with a gun in Unity
Please Sign up or sign in to vote.
11 Oct 2017IAmJoshChang
How to create waves for spawning system in Unity
Please Sign up or sign in to vote.
12 Oct 2017IAmJoshChang
How to create game over UI in Unity
Please Sign up or sign in to vote.
12 Oct 2017IAmJoshChang
How to fix Game Object Collider in Unity
Please Sign up or sign in to vote.
25 Oct 2017didourebai
How to develop multi-platform and connected apps and deploy on Azure
Please Sign up or sign in to vote.
1 Nov 2017Andrey Fedorov
Designing of the integration testing infrastructure
Please Sign up or sign in to vote.
1 Mar 2018Omar Saad (IREQ), Eric Ouellet
Many improvements over a pretty new and unknown very fast 2D Convex Hull algorithm and much more.
Please Sign up or sign in to vote.
6 Oct 2017Brady Kelly
Use the Bootstrap Treeview plugin to build a folder browser widget
Please Sign up or sign in to vote.
11 Oct 2017Mr.PoorEnglish
"TextAffinity": human-like ranking of similar texts
Please Sign up or sign in to vote.
19 Oct 2017Nikola M. Živković
Learn how to use MongoDB in C# following implementation of simple repository class
Please Sign up or sign in to vote.
11 Oct 2017Yahya Mohammed Ammouri
This article describes how to add a fully client side Multiple File Upload functionality to your page. Include select multiple files at a time, Select from different folders, Apply validation, show files in thumbnails and remove files from the list.
Please Sign up or sign in to vote.
25 Jun 2018Dirk Bahle
A quick guide to managing 100000'ish records efficiently with SQLite and C#/.Net.
Please Sign up or sign in to vote.
10 Oct 2017Vincent Maverick Durano
This article is the first part of the series on Getting Started with Entity Framework Core. In this post, we will build an ASP.NET Core MVC application that performs basic data access using Entity Framework Core.
Please Sign up or sign in to vote.
1 Oct 2017Marcelo Ricardo de Oliveira
Building a tiny e-Commerce on ASP.NET Core, Razor pages, React JS.NET and EF Core
Please Sign up or sign in to vote.
4 Oct 2017OriginalGriff
We all know database connection strings and suchlike should not be hard coded - but then there is the problem of getting the right string into the right PC when you release software.
Please Sign up or sign in to vote.
12 Oct 2017Clifford Nelson
A Behavior is presented that will ensure that only one Checkbox will be checked within the visual tree of the control to which this behavior is attached
Please Sign up or sign in to vote.
11 Nov 2021OriginalGriff
When they first meet them, developers are often tempted to play with pre- and post- increment operators. Then they get confused, because they don't do what is expected. Or ... do they?
Please Sign up or sign in to vote.
2 Oct 2017#realJSOP
An answer and an example for the question, "What's the best way to learn a language or platform?"
Please Sign up or sign in to vote.
2 Oct 2017Brady Kelly
C# 7 has the ability to declare a variable right at the point where it is passed as an out argument
Please Sign up or sign in to vote.
12 Oct 2017Rudi Breedenraedt
How to mix relational and document oriented data in SQL Server and query it with Entity Framework? Including pitfalls, limitations and performance notes.

Current Participants

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

Software Developer (Senior) Paddedwall Software
United States United States
I've been paid as a programmer since 1982 with experience in Pascal, and C++ (both self-taught), and began writing Windows programs in 1991 using Visual C++ and MFC. In the 2nd half of 2007, I started writing C# Windows Forms and ASP.Net applications, and have since done WPF, Silverlight, WCF, web services, and Windows services.

My weakest point is that my moments of clarity are too brief to hold a meaningful conversation that requires more than 30 seconds to complete. Thankfully, grunts of agreement are all that is required to conduct most discussions without committing to any particular belief system.
Chief Technology Officer SocialVoice.AI
Ireland Ireland
Allen is CTO of SocialVoice (https://www.socialvoice.ai), where his company analyses video data at scale and gives Global Brands Knowledge, Insights and Actions never seen before! Allen is a chartered engineer, a Fellow of the British Computing Society, a Microsoft mvp and Regional Director, and C-Sharp Corner Community Adviser and MVP. His core technology interests are BigData, IoT and Machine Learning.

When not chained to his desk he can be found fixing broken things, playing music very badly or trying to shape things out of wood. He currently completing a PhD in AI and is also a ball throwing slave for his dogs.
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
Brazil Brazil
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Russian Federation Russian Federation
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer One Inc.
Ukraine Ukraine
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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.
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
Architect REALDOLMEN
Belgium Belgium
Working in the IT-Branch for more then 20 years now. Starting as a programmer in WinDev, moved to Progress, shifted to .NET since 2003. At the moment i'm employed as a .NET Application Architect at RealDolmen (Belgium). In my spare time, i'm a die hard mountainbiker and together with my sons Jarne and Lars, we're climbing the hills in the "Flemish Ardens" and the wonderfull "Pays des Collines". I also enjoy "a p'tit Jack" (Jack Daniels Whiskey) or a "Duvel" (beer) for "l'après VTT !".
Technical Lead
Australia Australia
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
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.
Engineer
Canada Canada
I develop virtual reality applications.
Software Developer (Senior)
Israel Israel
Born in Hungary, got my first computer at age 12 (C64 with tape and joystick). Also got a book with it about 6502 assembly, that on its back has a motto, said 'Try yourself!'. I believe this is my beginning...

Started to learn - formally - in connection to mathematics an physics, by writing basic and assembly programs demoing theorems and experiments.

After moving to Israel learned two years in college and got a software engineering degree, I still have somewhere...

Since 1997 I do development for living. I used 286 assembly, COBOL, C/C++, Magic, Pascal, Visual Basic, C#, JavaScript, HTML, CSS, PHP, ASP, ASP.NET, C# and some more buzzes.

Since 2005 I have to find spare time after kids go bed, which means can't sleep to much, but much happier this way...

Free tools I've created for you...


Instructor / Trainer Alura Cursos Online
Brazil Brazil
Software Developer
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
United States United States
I have lived and worked throughout the globe (Brussels, London, Paris, West Indies, USA) as an IT consultant. My favorite S/W development concentrations are XML/XSLT, C#, Agile Model - Driven Development. I live and work in Charlotte, NC, USA. I hold a Bachelors degree in Business with a concentration in Management Information Systems from the University of North Carolina at Charlotte.
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 (Senior) Vega IT Sourcing
Serbia Serbia
Read more at my blog: https://rubikscode.net
Engineer
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
CEO
Wales Wales
Born at an early age, he grew older. At the same time, his hair grew longer, and was tied up behind his head.
Has problems spelling the word "the".
Invented the portable cat-flap.
Currently, has not died yet. Or has he?
Software Developer (Senior)
United States United States
An experienced Software Developer and Graphic Designer with an extensive knowledge of object-oriented programming, software architecture, design methodologies and database design principles. Specializing in Microsoft Technologies and focused on leveraging a strong technical background and a creative skill-set to create meaningful and successful applications.

Well versed in all aspects of the software development life-cycle and passionate about embracing emerging development technologies and standards, building intuitive interfaces and providing clean, maintainable solutions for even the most complex of problems.
Architect AREBIS
Belgium Belgium
Senior Software Architect and independent consultant.
Architect NashTech
Vietnam Vietnam
Thang has a great passion in .NET, JavaScript, and Node. You can visit Thang's blog at https://weblogs.asp.net/thangchung to read about his thoughts on software development.
Software Developer (Senior) Freelancer
Greece Greece
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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.
Software Developer (Senior) Self-employed
Spain Spain
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer (Senior)
Unknown
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
A code monkey who loves to drink beer, play guitar and listen to music.

My Tech Blog: https://vmsdurano.com/
My Youtube Channel: https://www.youtube.com/channel/UCuabaYm8QH4b1MAclaRp-3Q

I currently work as a Solutions Architect and we build "cool things" to help people improve their health.

With over 14 years of professional experience working as a Sr. Software Engineer specializing mainly on Web and Mobile apps using Microsoft technologies. My exploration into programming began at the age of 15;Turbo PASCAL, C, C++, JAVA, VB6, Action Scripts and a variety of other equally obscure acronyms, mainly as a hobby. After several detours, I am here today on the VB.NET to C# channel. I have worked on Web Apps + Client-side technologies + Mobile Apps + Micro-services + REST APIs + Event Communication + Databases + Cloud + Containers , which go together like coffee crumble ice cream.

I have been awarded Microsoft MVP each year since 2009, awarded C# Corner MVP for 2015, 2016,2017 and 2018, CodeProject MVP, MVA, MVE, Microsoft Influencer, Dzone MVB, Microsoft ASP.NET Site Hall of Famer with All-Star level and a regular contributor at various technical community websites such as CSharpCorner, CodeProject, ASP.NET and TechNet.

Books written:
" Book: Understanding Game Application Development with Xamarin.Forms and ASP.NET
" Book (Technical Reviewer): ASP.NET Core and Angular 2
" EBook: Dockerizing ASP.NET Core and Blazor Applications on Mac
" EBook: ASP.NET MVC 5- A Beginner's Guide
" EBook: ASP.NET GridView Control Pocket Guide
Architect
Saudi Arabia Saudi Arabia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

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 Oct - 31 Oct 2017