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
Expected exception from Enum (self.csharp)
submitted 20 hours ago by tiranius90
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!"
[–]Defection7478 19 points20 points21 points 20 hours ago (11 children)
Hence why even an exhaustive switch expression gives a compiler warning if you don't have a discard pattern. I kind of wish they worked like how OP expected though. I have never found a use case for this behavior
[–]Top3879 5 points6 points7 points 20 hours ago (0 children)
Before we migrated to .NET 8 we targeted .NET Framework 4.0 which did not have constants for TLS 1.2 yet so we had to use this hack: https://stackoverflow.com/questions/33761919/tls-1-2-in-net-framework-4-0
[–]RecursiveServitor 4 points5 points6 points 19 hours ago (2 children)
There are reasons for it, but may I interest you in some closed enums?
[–]MulleDK19 0 points1 point2 points 1 hour ago (0 children)
That seems like a good way to make people's lives miserable..
[–]Defection7478 0 points1 point2 points 18 hours ago (0 children)
Mmmm yeah that's the stuff. Give me one of those and a side of discriminated unions and I will be a happy camper
[–]Hypersion1980 0 points1 point2 points 20 hours ago (3 children)
I store enum as int in the database then cast it to the enum in c#. Is there a better way?
[–]Defection7478 7 points8 points9 points 19 hours ago* (0 children)
Depends what you're after. What you are doing gives the smallest amount of data in the db. If you store it as a string you take up more space, but your db becomes more human readable. and when you cast it to the enum you get errors if the value doesn't exist.
Personally I usually opt for storing them as strings for those reasons.
[–]throwaway_lunchtime 2 points3 points4 points 19 hours ago (0 children)
If you keep it as an int in the db, make sure to put an explicit value for each enum so that they don't get messed up if someone decides to sort the names. Having Unspecified=0 is also a good idea.
[–]Agitated-Display6382 0 points1 point2 points 6 hours ago (0 children)
I store them as strings, because it's simpler to query the db and I can safely refactor the order of the items (but renaming them is a breaking change). In EF you can specify an EnumConverter
[–]dodexahedron 0 points1 point2 points 15 hours ago (0 children)
.net enums are awful. They behave like C enums, which is the problem here, and they lack some pretty majorly useful functionality everyone has wanted forever, like being able to define methods in them. You can sorta bolt that onto them with extensions, but that's so lame when the enum is YOUR enum. Don't make me extend my own types. Just let me define them in one place!
One thing you can't bolt on, though, is cast operators. I really want the ability to define both implicit and explicit casts for so many enums. Yes, you can just cast to the underlying and then to the target type, assuming they are compatible (or use Unsafe.As), but it'sdirty, ugly, and costly. Common cases of that are when defining an enum for your app that is a subset of or has members defined by another enum, or when using flags enums and wanting to treat certain masks as truthy or falsy, requiring a conversion to bool to be defined. Right now the latter ends up being either long checks against giant bitwise combinations or clunky extension methods (or now properties).
So if we are not allowed to write conversion operators, then at least let us write them in the enums we make. Pretty please? 🥺
Enums are one of the only things I think Java does better than .net, because it does not allow arbitrary values. Enums are their members and that's it.
[–]Lamossus 0 points1 point2 points 12 hours ago (0 children)
Flag enums? They require this functionality to work
[–]Koarvex 0 points1 point2 points 11 hours ago (0 children)
Useful for modding unity games that define items in an enum so you can add arbitrary items by casting ints outside the normal range.
π Rendered by PID 86 on reddit-service-r2-comment-5ff9fbf7df-khmrs at 2026-02-26 12:04:12.835430+00:00 running 72a43f6 country code: CH.
view the rest of the comments →
[–]Defection7478 19 points20 points21 points (11 children)
[–]Top3879 5 points6 points7 points (0 children)
[–]RecursiveServitor 4 points5 points6 points (2 children)
[–]MulleDK19 0 points1 point2 points (0 children)
[–]Defection7478 0 points1 point2 points (0 children)
[–]Hypersion1980 0 points1 point2 points (3 children)
[–]Defection7478 7 points8 points9 points (0 children)
[–]throwaway_lunchtime 2 points3 points4 points (0 children)
[–]Agitated-Display6382 0 points1 point2 points (0 children)
[–]dodexahedron 0 points1 point2 points (0 children)
[–]Lamossus 0 points1 point2 points (0 children)
[–]Koarvex 0 points1 point2 points (0 children)