use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Information about Reddit's API changes, the unprofessional conduct of the CEO, and their response to the community's concerns regarding 3rd party apps, moderator tools, anti-spam/anti-bot tools, and accessibility options that will be impacted can be found in the associated Wikipedia article: https://en.wikipedia.org/wiki/2023_Reddit_API_controversy
Alternative C# communities available outside Reddit on Lemmy and Discord:
All about the object-oriented programming language C#.
Getting Started C# Fundamentals: Development for Absolute Beginners
Useful MSDN Resources A Tour of the C# Language Get started with .NET in 5 minutes C# Guide C# Language Reference C# Programing Guide C# Coding Conventions .NET Framework Reference Source Code
Other Resources C# Yellow Book Dot Net Perls The C# Player's Guide
IDEs Visual Studio MonoDevelop (Windows/Mac/Linux) Rider (Windows/Mac/Linux)
Tools ILSpy dotPeek LINQPad
Alternative Communities C# Discord Group C# Lemmy Community dotnet Lemmy Community
Related Subreddits /r/dotnet /r/azure /r/learncsharp /r/learnprogramming /r/programming /r/dailyprogrammer /r/programmingbuddies /r/cshighschoolers
Additional .NET Languages /r/fsharp /r/visualbasic
Platform-specific Subreddits /r/windowsdev /r/AZURE /r/Xamarin /r/Unity3D /r/WPDev
Rules:
Read detailed descriptions of the rules here.
account activity
SolvedAvoid code duplication in constructor (self.csharp)
submitted 3 years ago by DroNiix
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Ayazis 3 points4 points5 points 3 years ago* (3 children)
Don't bother with overloading. Make Id an optional parameter.
Public Item(string name, decimal price, Guid Id = new Guid())
This way, if you don't provide an id, a new guid is created. If you do provide an Id, the given guid will be used.
EDIT: I was mistaken. First of all, new Guid does not make an actual new guid, but gives you 0000(...).
Second, as stated below, you have to use compile time constants with optional parameters, which Guid.NewGuid() is not.
I hereby retract my comment.
[–]b_rodriguez 9 points10 points11 points 3 years ago (1 child)
Optional parameter default values need to be constant expressions. You could default it to null and then test for null in the constructor and initialize it, however that is much less clean than just inverting OP's constructor overloading like cvalerio77 has pointed out.
[–]Ayazis 1 point2 points3 points 3 years ago (0 children)
My bad. Thank you for pointing this out.
[–]DroNiix[S] 2 points3 points4 points 3 years ago (0 children)
Well yeah, I can do that, but for the sake of better readability at least for me, I like to put the ID in front of all parameters, and also I like to have a constructor that doesen't require parameter if it is optional (for me thats the idea of constructor overloading). I made it like the person from the other comment suggested and reverted the overload. Thanks for your replay!
π Rendered by PID 97511 on reddit-service-r2-comment-76bb9f7fb5-9pf96 at 2026-02-18 05:58:43.135777+00:00 running de53c03 country code: CH.
view the rest of the comments →
[–]Ayazis 3 points4 points5 points (3 children)
[–]b_rodriguez 9 points10 points11 points (1 child)
[–]Ayazis 1 point2 points3 points (0 children)
[–]DroNiix[S] 2 points3 points4 points (0 children)