Click here to Skip to main content
15,349,648 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 2017
thangchung
Learn to organize clean architecture to modular patterns
Please Sign up or sign in to vote.
24 Oct 2017
Emmanuel Nuyttens
Example on how to use Event Sourcing in C#
Please Sign up or sign in to vote.
27 May 2020
Theo Kand
An original AngularJS implementation of the most famous video game ever
Please Sign up or sign in to vote.
30 Sep 2017
Graeme_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.
12 Oct 2017
matt warren
Analyzing C# code on GitHub with BigQuery
Please Sign up or sign in to vote.
1 Jun 2018
Alvaro Carballo Garcia
Comprehensive unit parsing library
Please Sign up or sign in to vote.
30 Oct 2017
Kornfeld 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.
11 Oct 2017
Clifford 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.
16 Oct 2017
Anton Kleshchev
Coding jQuery widget to accept Bitcoin payments
Please Sign up or sign in to vote.
14 Dec 2019
Alexandre 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 2017
IAmJoshChang
Adding new bandit enemy
Please Sign up or sign in to vote.
17 Oct 2017
Clifford 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 2017
DataBytzAI
Part 1 of 'Making an e-Learning platform for Microsoft Azure'
Please Sign up or sign in to vote.
24 Oct 2017
Mike DiRenzo
An easy to use programmatic LDAP search utility is a 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 2017
IAmJoshChang
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 2017
IAmJoshChang
Fixing Game Object Collider in Unity
Please Sign up or sign in to vote.
10 Oct 2017
IAmJoshChang
How to create game over UI in Unity
Please Sign up or sign in to vote.
10 Oct 2017
IAmJoshChang
How to create the Game End state and Game Over animation
Please Sign up or sign in to vote.
13 Oct 2017
IAmJoshChang
How to create Victory state after we defeat all enemies
Please Sign up or sign in to vote.
14 Oct 2017
IAmJoshChang
How to add missing audio, UI, and create enemy victory state
Please Sign up or sign in to vote.
18 Oct 2017
IAmJoshChang
How to create a time score system in Unity
Please Sign up or sign in to vote.
5 Oct 2017
Vijay Andugula
Example for database Update and Insert using Angular, Web APIs
Please Sign up or sign in to vote.
10 Oct 2017
IAmJoshChang
How to create a spawning system for enemies in Unity
Please Sign up or sign in to vote.
17 Oct 2017
IAmJoshChang
How to add a new tank enemy
Please Sign up or sign in to vote.
18 Oct 2017
IAmJoshChang
How to spawn new enemies in Unity and deal with "Ghost" colliders
Please Sign up or sign in to vote.
24 Oct 2017
IAmJoshChang
How to save and load data in Unity
Please Sign up or sign in to vote.
6 Oct 2017
User 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.
2 Oct 2017
Rion Williams
Hands-free security scanning within .NET applications
Please Sign up or sign in to vote.
2 Oct 2017
Kamran 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 2017
IAmJoshChang
How to shoot with a gun in Unity
Please Sign up or sign in to vote.
11 Oct 2017
IAmJoshChang
How to create waves for spawning system in Unity
Please Sign up or sign in to vote.
12 Oct 2017
IAmJoshChang
How to create game over UI in Unity
Please Sign up or sign in to vote.
12 Oct 2017
IAmJoshChang
How to fix Game Object Collider in Unity
Please Sign up or sign in to vote.
25 Oct 2017
didourebai
How to develop multi-platform and connected apps and deploy on Azure
Please Sign up or sign in to vote.
1 Nov 2017
Andrey Fedorov
Designing of the integration testing infrastructure
Please Sign up or sign in to vote.
1 Mar 2018
Omar 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 2017
Brady Kelly
Use the Bootstrap Treeview plugin to build a folder browser widget
Please Sign up or sign in to vote.
11 Oct 2017
Mr.PoorEnglish
"TextAffinity": human-like ranking of similar texts
Please Sign up or sign in to vote.
19 Oct 2017
Nikola 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 2017
Yahya 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 2018
Dirk 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 2017
Vincent 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 2017
Marcelo 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 2017
OriginalGriff
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 2017
Clifford 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 2021
OriginalGriff
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 2017
Brady 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 2017
Rudi 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.

#realJSOP
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.
DataBytzAI
Chief Technology Officer The DataWorks
United Kingdom United Kingdom
Allen is a consulting architect with a background in enterprise systems. His current obsessions are IoT, Big Data 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 runs his own company specializing in systems architecture and scaling for big data and is involved in a number of technology startups.

Allen is a chartered engineer, a Fellow of the British Computing Society, and a Microsoft MVP. He writes for CodeProject, C-Sharp Corner and DZone. He currently completing a PhD in AI and is also a ball throwing slave for his dogs.
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
No Biography provided
Alvaro Carballo Garcia
Software Developer (Senior) Self-employed
Spain Spain
Alvaro. Man in his forties. Spaniard in Spain. Honest and direct, an open book. Remote programmer specialising in custom software development and data analysis. 13+ years of software development experience with multiple programming languages like C#, VB.NET, VBA, Java, PHP, C or Python. BEng in Mechanical Engineering and MS in Law. Fluent in both Spanish and English.

Recent work samples:
- accessory_java_RAW (Java).
- ib_RAW (Java).
Andrey Fedorov
Russian Federation Russian Federation
No Biography provided
Anton Kleshchev
Software Developer One Inc.
Ukraine Ukraine
No Biography provided
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.
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
Emmanuel Nuyttens
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 !".
Graeme_Grant
Technical Lead
Australia Australia
No Biography provided
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.
Kamran Bigdely-Shamloo
Engineer
Canada Canada
I develop virtual reality applications.
Kornfeld Eliyahu Peter
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...


matt warren
Software Developer
United Kingdom United Kingdom
No Biography provided
Mike DiRenzo
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.
Mr.PoorEnglish
Germany Germany
No Biography provided
Nikola M. Živković
Software Developer (Senior) Vega IT Sourcing
Serbia Serbia
Read more at my blog: https://rubikscode.net
Omar Saad (IREQ)
Engineer
Canada Canada
No Biography provided
OriginalGriff
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?
Rion Williams
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.
Rudi Breedenraedt
Architect RealDolmen
Belgium Belgium
Rudi is a Software Architect at RealDolmen.
thangchung
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.
Theo Kand
Software Developer (Senior) Freelancer
Greece Greece
No Biography provided
User 1043264
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.
Vijay Andugula
Unknown
No Biography provided
Vincent Maverick Durano
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
Yahya Mohammed Ammouri
Architect
Saudi Arabia Saudi Arabia
No Biography provided

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