Click here to Skip to main content
15,885,216 members
This competition has ended

Best C# Article of November 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.
15 Nov 2017Graeme_Grant
A Modern Toggle Switch - From mock concept to a full custom WPF control that you can plug into your own apps
Please Sign up or sign in to vote.
16 Jun 2021Nick Polyak
Dynamically compile and assemble code snippets into a dynamic assembly
Please Sign up or sign in to vote.
8 Apr 2020Gunnar S
Implementation of the Poisson Cumulative Distribution function for large Lambdas
Please Sign up or sign in to vote.
8 Dec 2019HHerzl
Scaffolding Dapper with CatFactory
Please Sign up or sign in to vote.
27 Nov 2017Miguel Diaz Kusztrich
An infinite set of biological shape fractals in the complex plain
Please Sign up or sign in to vote.
29 Nov 2017Danny Chu
Learn how to detect if client has JavaScript enabled or disabled at your backend webserver
Please Sign up or sign in to vote.
22 Nov 2017Nick Polyak
Describes creating a XAML Intellisense Visual Studio 2017 extension
Please Sign up or sign in to vote.
22 Jan 2018Dirk Bahle
Implementing text highlighting in a WPF TextBlock control with MVVM
Please Sign up or sign in to vote.
8 Dec 2017Dirk Bahle, Alaa Ben Fatma
Tips & tricks on visting and searching nodes in WPF TreeViews
Please Sign up or sign in to vote.
21 Nov 2017Shmuel 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.
Please Sign up or sign in to vote.
3 Nov 2017LostTime76
Presenting the concept of a TreeGrid control that utilizes the DataGrid
Please Sign up or sign in to vote.
22 Nov 2017Graeme_Grant
This is an alternative for "Simplest WPF Dependency Property For Beginners On Background Color"
Please Sign up or sign in to vote.
25 Nov 2017Daniel 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
Please Sign up or sign in to vote.
29 Nov 2017raddevus
Get Started in UWP (moving away from WinForm) Chapter 7 Saving journal entries in the file system
Please Sign up or sign in to vote.
2 Nov 2017Silvia Campo
How to configure Swagger for web services using token authentication
Please Sign up or sign in to vote.
27 Nov 2017raddevus
Get Started in UWP (moving away from WinForm) Chapter 4 Adding Windows Controls (Building the DailyJournal app)
Please Sign up or sign in to vote.
28 Nov 2017raddevus
Get Started in UWP (moving away from WinForm) Chapter 6 Programmatically Adding Tabs (Pivot) for Multiple entries in DailyJournal (includes CommandBar and Menu concepts)
Please Sign up or sign in to vote.
7 Nov 2017IAmJoshChang
How to run Google Cardboard on an Android Device in Unity
Please Sign up or sign in to vote.
15 Nov 2017Petru Faurescu
Insights in data aggregations and joining collections with MongoDB and .NET Driver
Please Sign up or sign in to vote.
15 Nov 2017Bahrudin 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).
Please Sign up or sign in to vote.
18 Nov 2017Norman Paterson
Performance issue using ROW_NUMBER() OVER in a database view for the PK
Please Sign up or sign in to vote.
28 Nov 2017raddevus
Get Started in UWP (moving away from WinForm) Chapter 5 Adding Tabs (Pivot) For Multiple Journal Entries
Please Sign up or sign in to vote.
2 Dec 2017User 6679439
Library extending the .NET numeric support
Please Sign up or sign in to vote.
2 Nov 2017IAmJoshChang
How to set up the Google Cardboard in Unity
Please Sign up or sign in to vote.
17 Nov 2017IAmJoshChang
How to create a VR first person shooter II
Please Sign up or sign in to vote.
19 Nov 2017IAmJoshChang
How to create a VR first person shooter - III
Please Sign up or sign in to vote.
26 Nov 2017Bahrudin Hrnjica
How to save CNTK model to file in C#
Please Sign up or sign in to vote.
7 Nov 2017IAmJoshChang
How to get our FPS game running in VR
Please Sign up or sign in to vote.
5 Jan 2018#realJSOP
When you have a customized DbContext constructor.
Please Sign up or sign in to vote.
15 Nov 2017IAmJoshChang
Creating a VR first person shooter I
Please Sign up or sign in to vote.
22 Nov 2017Bahrudin Hrnjica
How to setup learning rate per iteration in CTNK using C#
Please Sign up or sign in to vote.
28 Nov 2017Bahrudin Hrnjica
How to deploy CNTK model to Excel using C#
Please Sign up or sign in to vote.
1 Nov 2017Saurav J
Convert table from outlook email body into datatable or list using .NET C# EWS Managed API and HtmlAgilitypack
Please Sign up or sign in to vote.
6 Nov 2017Bob Crowley
Minimize mocking code while still providing all necessary scenarios to exercise your business logic unit tests
Please Sign up or sign in to vote.
18 Nov 2017asiwel
Construct a confusion matrix or crosstab for binary or multi-level classifier training or validation data in C#
Please Sign up or sign in to vote.
14 Nov 2017jgauffin
Save time and effort with the help of codeRR, which finds and analyses errors for you, improving code quality along the way.
Please Sign up or sign in to vote.
14 Nov 2017Bahrudin Hrnjica
How to train Iris data by batch using CNTK and C#
Please Sign up or sign in to vote.
10 Nov 2017be05x5
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
Please Sign up or sign in to vote.
17 Nov 2017David 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.
Please Sign up or sign in to vote.
18 Nov 2017#realJSOP
One less pesky nuance to worry about
Please Sign up or sign in to vote.
18 Nov 2017Herbert Lausmann
Convert between over 100 different currencies in .NET using Yahoo's APIs
Please Sign up or sign in to vote.
18 May 2020kevinuni
This is an alternative for "Master Detail Datagridview"
Please Sign up or sign in to vote.
9 Nov 2017matt 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?
Please Sign up or sign in to vote.
5 Dec 2023Patrick Eckler
Example of a TCPIP server that listens and can serve multiple client connections
Please Sign up or sign in to vote.
2 Dec 2017Nick Polyak
TypeScript tutorial for object oriented programmers
Please Sign up or sign in to vote.
26 Nov 2017raddevus
Get Started in UWP (moving away from WinForm) Chapter 3: The Challenges of Making Our Apps Look Good
Please Sign up or sign in to vote.
26 Nov 2017Nick 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.
Please Sign up or sign in to vote.
7 Nov 2017alex_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.
Please Sign up or sign in to vote.
8 Nov 2017DataBytzAI
Using JSPlumb with ASP MVC to create flow-chart and work-flow applications
Please Sign up or sign in to vote.
3 Nov 2017Clifford Nelson
This tip shows how easy it is to create a Style with DependencyProperty definitions and avoid the much heavier UserControl

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.
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.
CEO Academic Software, Inc.
United States United States
My public profile: http://www.linkedin.com/in/warrenlacefield
My research profile: https://www.researchgate.net/profile/Warren-Lacefield
My company homepage: http://www.acsw.com
Software Developer (Senior)
Bosnia and Herzegovina Bosnia and Herzegovina
Bahrudin Hrnjica holds a Ph.D. degree in Technical Science/Engineering from University in Bihać.
Besides teaching at University, he is in the software industry for more than two decades, focusing on development technologies e.g. .NET, Visual Studio, Desktop/Web/Cloud solutions.

He works on the development and application of different ML algorithms. In the development of ML-oriented solutions and modeling, he has more than 10 years of experience. His field of interest is also the development of predictive models with the ML.NET 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.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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.
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.
Architect
Brazil Brazil
I started development 37 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. Built MVC Web Application and WCF services using Micro Services architecture proposed by me. Working with AI projects to improve the business performance and customer experience. Besides programming I love running, swimming, reading and movies.
Denmark Denmark
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 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
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
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.
Software Developer (Senior)
Sweden Sweden
I work as Senior Developer mainly in Microsoft environment and my strenghts are SQL, C#, Vue.js, Angular and ReactJS.
Student
Brazil Brazil
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
Software Developer
El Salvador El Salvador
CatFactory Creator.

Full Stack Developer with Experience in C#, Entity Framework Core, ASP.NET Core and Angular.
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.
Founder 1TCompany AB
Sweden Sweden
Software Developer
Peru Peru
Kevin Diaz is an electrical engineer by UNI in Lima, Peru.

He work developing projects for electrical industry.
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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 (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.
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 fell in love with WPF (and later Silverlight) at first sight. After Microsoft killed Silverlight, I was distraught until I found Avalonia - a great multiplatform package for building UI on Windows, Linux, Mac as well as within browsers (using WASM) and for mobile platforms.

I have my Ph.D. from RPI.

here is my linkedin profile
United States United States
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 States United States
Born and raised in the city of Detroit...

C, C++, C# application and web developer.

https://PESystemsllc.com/

Email: EcklerPa@yPESystemsllc.com
Architect
Denmark Denmark
My name is Petru Faurescu and I am a solution architect and technical leader. Technical blog: QAppDesign.com
Software Developer (Senior) RADDev Publishing
United States United States
"Everything should be made as simple as possible, but not simpler."
Technical Lead
India India
I am saurav J working as senior technical consultant, Bangalore India.
PMI Agile Certified Practitioner-(ACP).
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)

Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
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.

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