Collection initializers
suggest changeInitialize a collection type with values:
var stringList = new List<string>
{
"foo",
"bar",
};
Collection initializers are syntactic sugar for Add()
calls. Above code is equivalent to:
var temp = new List<string>();
temp.Add("foo");
temp.Add("bar");
var stringList = temp;
Note that the intialization is done atomically using a temporary variable, to avoid race conditions.
For types that offer multiple parameters in their Add()
method, enclose the comma-separated arguments in curly braces:
var numberDictionary = new Dictionary<int, string>
{
{ 1, "One" },
{ 2, "Two" },
};
This is equivalent to:
var temp = new Dictionary<int, string>();
temp.Add(1, "One");
temp.Add(2, "Two");
var numberDictionarynumberDictionary = temp;
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents
2 Literals
18 Regex
19 DateTime
20 Arrays
22 Enum
23 Tuples
25 GUID
26 BigInteger
28 Looping
29 Iterators
30 IEnumerable
35 Dynamic type
37 Casting
41 Interfaces
47 Methods
52 Keywords
53 Recursion
57 Inheritance
58 Generics
62 Reflection
65 LINQ Queries
66 LINQ to XML
68 XmlDocument
69 XDocument
79 Diagnostics
80 Overflow
86 Properties
89 Events
93 Structs
94 Attributes
95 Delegates
97 Networking
102 Action Filters
103 Polymorphism
104 Immutability
105 Indexer
107 Stream
108 Timers
109 Stopwatches
110 Threading
112 Async Await
114 BackgroundWorker
117 Lock Statement
118 Yield Keyword
121 Func delegates
124 ICloneable
125 IComparable
127 Using SQLite
128 Caching
129 Code Contracts
136 Pointers
144 Hash Functions
146 Cryptography
148 C# Script
149 Runtime Compile
150 Interoperability
156 Contributors