Click here to Skip to main content
14,031,710 members

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

26 Nov 2017
Marcelo Ricardo de Oliveira
A shoot'n'up HTML5 game made with Phaser game framework
13 Nov 2017
Nick Polyak
The article explains in detail how to dynamically compile and assemble various code snippets into a dynamic assembly. Also it describes loading and using the dynamic assembly within the application.
15 Nov 2017
Graeme_Grant
A Modern Toggle Switch - From mock concept to a full custom WPF control that you can plug into your own apps
27 Jun 2018
Gunnar S
Implementation of the Poisson Cumulative Distribution function for large Lambdas
27 Nov 2017
Miguel Diaz Kusztrich
An infinite set of biological shape fractals in the complex plain
22 Nov 2017
Nick Polyak
Describes creating a XAML Intellisense Visual Studio 2017 extension
29 Nov 2017
Danny Chu
Learn how to detect if client has JavaScript enabled or disabled at your backend webserver
22 Jan 2018
Dirk Bahle
Implementing text highlighting in a WPF TextBlock control with MVVM
21 Nov 2017
Shmuel Safonov
Using Bison/Flex for creation of the code convertor from subset of MATLAB language to C code. The converter is used for building native applications and libraries from MATLAB code.
22 Jun 2018
kevinuni
This is an alternative for "Master Detail Datagridview"
8 Dec 2017
Dirk Bahle, Alaa Ben Fatma
Tips & tricks on visting and searching nodes in WPF TreeViews
25 Nov 2017
Daniel Carvalho Liedke
Project to generate Excel Spreadsheet from DataSet with auto size (AutoFit) columns, auto-filter, alternating light blue background color with Open XML using ASP.NET MVC
29 Nov 2017
raddevus
Get Started in UWP (moving away from WinForm) Chapter 7 Saving journal entries in the file system
26 Nov 2017
Juan Francisco Morales Larios
Create an Entity Framework Generic Repository in a step by step manner
27 Nov 2017
raddevus
Get Started in UWP (moving away from WinForm) Chapter 4 Adding Windows Controls (Building the DailyJournal app)
2 Nov 2017
Silvia Campo
How to configure Swagger for web services using token authentication
7 Nov 2017
IAmJoshChang
How to run Google Cardboard on an Android Device in Unity
28 Nov 2017
raddevus
Get Started in UWP (moving away from WinForm) Chapter 6 Programmatically Adding Tabs (Pivot) for Multiple entries in DailyJournal (includes CommandBar and Menu concepts)
15 Nov 2017
Petru Faurescu
Insights in data aggregations and joining collections with MongoDB and .NET Driver
15 Nov 2017
Bahrudin Hrnjica
Once the model is built and Loss and Validation functions satisfy our expectation, we need to validate and test the model using the data which was not part of the training data set (unseen data).
18 Nov 2017
Norman Paterson
Performance issue using ROW_NUMBER() OVER in a database view for the PK
2 Dec 2017
varocarbas
Library extending the .NET numeric support
28 Nov 2017
raddevus
Get Started in UWP (moving away from WinForm) Chapter 5 Adding Tabs (Pivot) For Multiple Journal Entries
2 Nov 2017
IAmJoshChang
How to set up the Google Cardboard in Unity
17 Nov 2017
IAmJoshChang
How to create a VR first person shooter II
19 Nov 2017
IAmJoshChang
How to create a VR first person shooter - III
26 Nov 2017
Bahrudin Hrnjica
How to save CNTK model to file in C#
7 Nov 2017
IAmJoshChang
How to get our FPS game running in VR
5 Jan 2018
#realJSOP
When you have a customized DbContext constructor.
15 Nov 2017
IAmJoshChang
Creating a VR first person shooter I
22 Nov 2017
Bahrudin Hrnjica
How to setup learning rate per iteration in CTNK using C#
28 Nov 2017
Bahrudin Hrnjica
How to deploy CNTK model to Excel using C#
1 Nov 2017
Saurav J
Convert table from outlook email body into datatable or list<T> using .NET C# EWS Managed API and HtmlAgilitypack
6 Nov 2017
Bob Crowley
Minimize mocking code while still providing all necessary scenarios to exercise your business logic unit tests
18 Nov 2017
asiwel
Construct a confusion matrix or crosstab for binary or multi-level classifier training or validation data in C#
14 Nov 2017
jgauffin
Save time and effort with the help of codeRR, which finds and analyses errors for you, improving code quality along the way.
14 Nov 2017
Bahrudin Hrnjica
How to train Iris data by batch using CNTK and C#
21 Nov 2017
OriginalGriff
There is a problem with accessing Excel files via OleDb which contain more than 255 columns: they are truncated and need to be fetched using ranges. But what do you do with DataTables after that?
10 Nov 2017
be05x5
Posting this solution because I found all other options out there except this one. In this particular case, I have 1 item that can be packed a # of times and the goal is to pack it in the most efficient manner not to exceed UPS/FedEX LxWxH limitations, not providing box dimensions to fit the item in
17 Nov 2017
David A. Gray
Calculating the day on which a reporting period that ends on a specific day of the week is not as easy as it looks.
18 Nov 2017
#realJSOP
One less pesky nuance to worry about
9 Nov 2017
matt warren
Generics in C# are certainly very useful and I find it amazing that we almost didn’t get them: What would the cost of inaction have been? What would the cost of failure have been? No generics in C# 2.0? No LINQ in C# 3.0? No TPL in C# 4.0? No Async in C# 5.0?
2 Dec 2017
Nick Polyak
TypeScript tutorial for object oriented programmers
26 Nov 2017
raddevus
Get Started in UWP (moving away from WinForm) Chapter 3: The Challenges of Making Our Apps Look Good
26 Nov 2017
Nick Polyak
I describe reusable implementation of the collection behaviors that make items behave in a certain way as long as the items belong to a collection.
7 Nov 2017
alex_brambila
In this tutorial, I'll be building a high performance ASP.NET Core 2.0 React.js Single Page Application that implements CRUD forms with validation without using Redux or JQuery.
8 Nov 2017
AJSON
Using JSPlumb with ASP MVC to create flow-chart and work-flow applications
3 Nov 2017
Clifford Nelson
This tip shows how easy it is to create a Style with DependencyProperty definitions and avoid the much heavier UserControl
8 Oct 2018
Valerii Tereshchenko
Objects Comparer framework provides mechanism to recursively compare complex objects by properties (supports arrays, lists, different types of dynamic objects and more), allows to override comparison rules for specific properties and types.
5 Dec 2017
Patrick Eckler
Example of a TCPIP server that listens and can serve multiple client connections.

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.
AJSON
Engineer
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.
alex_brambila
Software Developer (Senior) Better Software Solutions, LLC
United States United States
Alex Brambila is a seasoned Software Developer with over 25 years experience with Microsoft technologies ,as well as many others, such as: .NET Core, React, ASP.Net, Visual Studio, MVC, SQL Server, C#, VB, Javascript, Oracle, Android, Java, and many more. He has spent decades working in Information Technology for various government and private organizations. Currently he runs his own business: Better Software Solutions, LLC headquartered in California.
asiwel
CEO Academic Software, Inc.
United States United States
My public profile: http://www.linkedin.com/in/warrenlacefield
My company homepage: http://www.acsw.com
Bahrudin Hrnjica
Software Developer (Senior)
Bosnia and Herzegovina Bosnia and Herzegovina
Bahrudin Hrnjica holds a PhD degree in Technical Science/Engineering from University in Bihać.
Besides teaching at University, he is in software industry for more than two decades, focusing on development technologies e.g. .NET, Visual Studio, Desktop/Web/Cloud solutions.

He works on development and application of a different ML algorithms.In the development of the ML-oriented solutions and modeling, he has more than 10 years of experience. His field of the interest is also the development of predictive models with the CNTK and Keras, but also actively develop two ML based .NET open source projects: GPdotNET-genetic programming tool and ANNdotNET - deep learning tool on .NET platform. He works in multidisciplinary teams with the mission of optimizing and selecting the ML algorithms to build ML models.

He is the author of several books, and many online articles, writes a blog at http://bhrnjica.net, regularly holds lectures at local and regional conferences, User groups and Code Camp gatherings, and is also the founder of the Bihac Developer Meetup Group. Microsoft recognizes his work, and awarded him with the prestigious Microsoft MVP title for the first time in 2011, which he still holds today.
be05x5
United States United States
No Biography provided
Bob Crowley
Software Developer (Senior) EVO Payments International
United States United States
Full stack developer on .Net and related technologies with heavy emphasis on back-end API development and integrations.
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.
Daniel Carvalho Liedke
Architect
Brazil Brazil
I started development 31 years from now, since MSX basic. Started Windows programming with VB 2.0 and Web programming with ASP 3.0. Then I built Windows Forms, Web Applications, NT services and WPF applications using Microsoft.NET. I am MCP in Visual Basic 6.0, MCAD and MCSD.NET in Framework 1.1, MCPD Web in Framework 2.0, MCTS in .NET 3.5 workflow, MCTS in .NET 3.5 communication foundation, windows presentation foundation and MVC applications. Currently working with MVC Web Application and WCF services using Micro Services architecture proposed by me. Besides programming I love running, swimming, cats and movies.
Danny Chu
Denmark Denmark
No Biography provided
David A. Gray
Software Developer (Senior)
United States United States
I deliver robust, clean, adaptable, future-ready applications that are properly documented for users and maintainers. I have deep knowledge in multiple technologies and broad familiarity with computer and software technologies of yesterday, today, and tomorrow.

While it isn't perceived as sexy, my focus has always been the back end of the application stack, where data arrives from a multitude of sources, and is converted into reports that express my interpretation of The Fundamental Principle of Tabular Reporting, and are the most visible aspect of the system to senior executives who approve the projects and sign the checks.

While I can design a front end, I prefer to work at the back end, getting data into the system from outside sources, such as other computers, electronic sensors, and so forth, and getting it out of the system, as reports to IDENTIFY and SOLVE problems.

When presented with a problem, I focus on identifying and solving the root problem for the long term.

Specialties: Design: Relational data base design, focusing on reporting; organization and presentation of large document collections such as MSDS libraries

Development: Powerful, imaginative utility programs and scripts for automated systems management and maintenance

Industries: Property management, Employee Health and Safety, Services

Languages: C#, C++, C, Python, VBA, Visual Basic, Perl, WinBatch, SQL, XML, HTML, Javascript

Outside Interests: Great music (mostly, but by no means limited to, classical), viewing and photographing sunsets and clouds, traveling by car on small country roads, attending museum exhibits (fine art, history, science, technology), long walks, especially where there is little or no motor traffic, reading, especially nonfiction and thoughtfully written, thought provoking science fiction
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
Graeme_Grant
Technical Lead
Australia Australia
No Biography provided
Gunnar S
Software Developer (Senior)
Sweden Sweden
I work as Senior Developer mainly in Microsoft environment and my strenghts are SQL, C# and ReactJS.
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.
jgauffin
Founder 1TCompany AB
Sweden Sweden
Juan Francisco Morales Larios
Software Developer (Senior) Cecabank
Spain Spain
MVP C# Corner 2017

MAP Microsoft Active Professional 2014

MCPD - Designing and Developing Windows Applications .NET Framework 4
MCTS - Windows Applications Development .NET Framework 4
MCTS - Accessing Data Development .NET Framework 4
MCTS - WCF Development .NET Framework 4
kevinuni
Software Developer
Peru Peru
Kevin Diaz is an electrical engineer by UNI in Lima, Peru.

He work developing projects for electrical industry.
matt warren
Software Developer
United Kingdom United Kingdom
No Biography provided
Miguel Diaz Kusztrich
Software Developer (Senior) Free lance
Spain Spain
I'm working with computers since the 80's of the past century, when I received as a present a 48K Spectrum which changed all my life plans, from a scientific career to a technical one. I started working in assembler language, in low lewel systems, mainly in the electromedical field. Today I work as a freelance, mainly in .NET Framework / database solutions, using the C# language.

I'm interested in scientific computer applications, and I,m learning AI and data analytics technics. I also own a technical blog, http://software-tecnico-libre.es/en/stl-index, where I publish some of the practice works of this learning process.
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!
Norman Paterson
United States United States
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?
Patrick Eckler
Software Developer (Senior)
United States United States
C, C++, C# application and web developer.
Petru Faurescu
Architect
Denmark Denmark
My name is Petru Faurescu and I am a solution architect and technical leader. Technical blog: QAppDesign.com
raddevus
Software Developer (Senior) RADDev Publishing
United States United States
Roger has worked in IT for over 25 years in numerous roles (Technical Support, Quality Assurance, Capacity & Performance Engineering and Software Development).
During that time, he has recognized that software often just becomes another layer of work that the user has to wade through.
Sometimes technical documentation is like that too: so confusing and complex that it wastes developers' time.
That's why when he writes his books like Programming Windows 10 Via UWP and his articles (Practical Electronics For Makers) he strives to explain things in the shortest available space with the simplest language possible. Often that means, writing in a tutorial style with numerous images to help guide the user.
He believes the best guiding principle is Einstein's famous quote: "Everything should be made as simple as possible, but not simpler."
Saurav J
Technical Lead
India India
I am saurav J working as senior technical consultant, Bangalore India.
PMI Agile Certified Practitioner-(ACP).
Shmuel Safonov
Engineer
Israel Israel
Software Engineer and Control Systems Expert at Digital Feedback Technologies Ltd.
PhD, Tel-Aviv University, 2009
M.S. , Faculty of Mechanics and Mathematics of Lomonosov Moscow State University,1994
Blog page: http://csafonov.blogspot.co.il/
Personal Open-source project: TMC Compiler, MATLAB to C code converter (https://sourceforge.net/projects/tmc-m-files-to-c-compiler)

Silvia Campo
Canada Canada
No Biography provided
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: Oracle, SQL Server, PL/SQL
varocarbas
Software Developer (Senior) Custom Solvers 2.0
Spain Spain
I am Alvaro Carballo Garcia, a remotely-working senior programmer. I am a mechanical engineer by education, but most of my professional career has been focused on software development.

I am self-employed and use the commercial name Custom Solvers 2.0; varocarbas is my personal nickname since quite a few years ago. I am the sole author of all what is associated with any of these nicks.

To know more about me, visit any of my two sites: https://customsolvers.com/ (main) or https://varocarbas.com/ (R&D).

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

Advertise | Privacy | Cookies | Terms of Service
Web03 | 2.8.190419.4 | Last Updated 1 Nov 2017
Copyright © CodeProject, 1999-2019
All Rights Reserved.
Layout: fixed | fluid