Questions tagged [c#]
C# (pronounced "see sharp") is a high-level, statically typed, multi-paradigm programming language developed by Microsoft. C# code usually targets Microsoft's .NET ecosystem, which include .NET, .NET Framework, .NET MAUI, and Xamarin among others. Use this tag for questions about code written in C# or about C#'s formal specification.
1,620,084
questions
7553
votes
68
answers
1.3m
views
What is the difference between String and string in C#?
What are the differences between these two, and which one should I use?
string s = "Hello world!";
String s = "Hello world!";
4393
votes
35
answers
1.0m
views
How to enumerate an enum?
How can you enumerate an enum in C#?
E.g. the following code does not compile:
public enum Suit
{
Spades,
Hearts,
Clubs,
Diamonds
}
public void EnumerateAllSuitsDemoMethod()
{
...
3912
votes
32
answers
2.1m
views
How do I cast int to enum in C#?
How do I cast an int to an enum in C#?
3449
votes
32
answers
1.3m
views
Case insensitive 'Contains(string)'
Is there a way to make the following return true?
string title = "ASTRINGTOTEST";
title.Contains("string");
There doesn't seem to be an overload that allows me to set the case ...
3315
votes
20
answers
2.4m
views
How to iterate over a dictionary?
I've seen a few different ways to iterate over a dictionary in C#. Is there a standard way?
2902
votes
13
answers
430k
views
What are the correct version numbers for C#?
What are the correct version numbers for C#? What came out when? Why can't I find any answers about C# 3.5?
This question is primarily to aid those who are searching for an answer using an incorrect ...
2647
votes
59
answers
1.0m
views
Deep cloning objects
I want to do something like:
MyObject myObj = GetMyObj(); // Create and fill a new object
MyObject newObj = myObj.Clone();
And then make changes to the new object that are not reflected in the ...
2584
votes
29
answers
860k
views
Catch multiple exceptions at once?
It is discouraged to catch System.Exception errors. Instead, only the "known" exceptions should be caught.
This sometimes leads to unnecessary repetitive code, for example:
try
{
WebId = ...
2436
votes
32
answers
3.2m
views
How do I generate a random integer in C#?
How do I generate a random integer in C#?
2413
votes
15
answers
284k
views
Should 'using' directives be inside or outside the namespace in C#?
I have been running StyleCop over some C# code, and it keeps reporting that my using directives should be inside the namespace.
Is there a technical reason for putting the using directives inside ...
2367
votes
32
answers
2.4m
views
Get int value from enum in C#
I have a class called Questions (plural). In this class there is an enum called Question (singular) which looks like this.
public enum Question
{
Role = 2,
ProjectFunding = 3,
...
2367
votes
41
answers
1.2m
views
How do I get a consistent byte representation of strings in C# without manually specifying an encoding?
How do I convert a string to a byte[] in .NET (C#) without manually specifying a specific encoding?
I'm going to encrypt the string. I can encrypt it without converting, but I'd still like to know ...
2330
votes
23
answers
1.3m
views
What is the best way to give a C# auto-property an initial value?
How do you give a C# auto-property an initial value?
I either use the constructor, or revert to the old syntax.
Using the Constructor:
class Person
{
public Person()
{
Name = "...
2255
votes
75
answers
836k
views
How do I calculate someone's age based on a DateTime type birthday?
Given a DateTime representing a person's birthday, how do I calculate their age in years?
2173
votes
48
answers
1.4m
views
How do I create an Excel (.XLS and .XLSX) file in C# without installing Microsoft Office?
How can I create an Excel spreadsheet with C# without requiring Excel to be installed on the machine that's running the code?
2125
votes
14
answers
1.5m
views
AddTransient, AddScoped and AddSingleton Services Differences
I want to implement dependency injection (DI) in ASP.NET Core. So after adding this code to ConfigureServices method, both ways work.
What is the difference between the services.AddTransient and ...
2107
votes
114
answers
1.8m
views
How do I remedy "The breakpoint will not currently be hit. No symbols have been loaded for this document." warning?
A C# desktop application (on the Visual Studio Express edition) worked, but then it didn't work 5 seconds later.
I tried the following:
Ensure debug configuration, debug flag, and full debug ...
2015
votes
18
answers
707k
views
What do two question marks together mean in C#?
Ran across this line of code:
FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();
What do the two question marks mean, is it some kind of ternary operator?
It's hard to look up in Google.
1908
votes
16
answers
1.5m
views
Type Checking: typeof, GetType, or is?
I've seen many people use the following code:
Type t = typeof(SomeType);
if (t == typeof(int))
// Some code here
But I know you could also do this:
if (obj1.GetType() == typeof(int))
// Some ...
1897
votes
20
answers
435k
views
Proper use of the IDisposable interface
I know from reading Microsoft documentation that the "primary" use of the IDisposable interface is to clean up unmanaged resources.
To me, "unmanaged" means things like database ...
1867
votes
26
answers
2.3m
views
What is a NullReferenceException, and how do I fix it?
I have some code and when it executes, it throws a NullReferenceException, saying:
Object reference not set to an instance of an object.
What does this mean, and what can I do to fix this error?
1866
votes
4
answers
122k
views
Is there a reason for C#'s reuse of the variable in a foreach?
When using lambda expressions or anonymous methods in C#, we have to be wary of the access to modified closure pitfall. For example:
foreach (var s in strings)
{
query = query.Where(i => i.Prop ...
1857
votes
10
answers
1.4m
views
Calling the base constructor in C#
If I inherit from a base class and want to pass something from the constructor of the inherited class to the constructor of the base class, how do I do that?
For example, if I inherit from the ...
1764
votes
14
answers
672k
views
What does the [Flags] Enum Attribute mean in C#?
From time to time I see an enum like the following:
[Flags]
public enum Options
{
None = 0,
Option1 = 1,
Option2 = 2,
Option3 = 4,
Option4 = 8
}
I don't understand what ...
1762
votes
8
answers
992k
views
How to loop through all enum values in C#? [duplicate]
This question already has an answer here:
How do I enumerate an enum in C#? 26 answers
public enum Foos
{
A,
B,
C
}
Is there a way to loop through the possible values of Foos?
...
1727
votes
29
answers
253k
views
Why not inherit from List<T>?
When planning out my programs, I often start with a chain of thought like so:
A football team is just a list of football players. Therefore, I should represent it with:
var football_team = new ...
1706
votes
30
answers
520k
views
What is the difference between const and readonly in C#?
What is the difference between const and readonly in C#?
When would you use one over the other?
1663
votes
16
answers
474k
views
Why is it important to override GetHashCode when Equals method is overridden?
Given the following class
public class Foo
{
public int FooId { get; set; }
public string FooName { get; set; }
public override bool Equals(object obj)
{
Foo fooItem = obj as ...
1656
votes
42
answers
204k
views
Calculate relative time in C#
Given a specific DateTime value, how do I display relative time, like:
2 hours ago
3 days ago
a month ago
1649
votes
53
answers
1.2m
views
How do you convert a byte array to a hexadecimal string, and vice versa?
How can you convert a byte array to a hexadecimal string and vice versa?