Skip to content

Commit 7b931a2

Browse files
authored
Adding CartesianProduct (#14)
* Adding CartesianProduct extension method.
1 parent d42ee5c commit 7b931a2

File tree

33 files changed

+1546
-1426
lines changed

33 files changed

+1546
-1426
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
1-
#### [Atrea.Extensions](./index.md 'index')
2-
### [Atrea.Extensions](./Atrea-Extensions.md 'Atrea.Extensions').[DictionaryExtensions](./Atrea-Extensions-DictionaryExtensions.md 'Atrea.Extensions.DictionaryExtensions')
3-
## DictionaryExtensions.Merge<TKey,TValue>(System.Collections.Generic.IDictionary<TKey,TValue>, System.Collections.Generic.IDictionary<TKey,TValue>) Method
4-
Merge the new dictionary into the source directory, overwriting on duplicate keys.
5-
If the new dictionary is null or empty, the first dictionary is returned unmodified.
6-
If the source dictionary is null or empty, the new dictionary is returned unmodified.
7-
```csharp
8-
public static System.Collections.Generic.IDictionary<TKey,TValue> Merge<TKey,TValue>(this System.Collections.Generic.IDictionary<TKey,TValue> source, System.Collections.Generic.IDictionary<TKey,TValue> newDictionary);
9-
```
10-
#### Type parameters
11-
<a name='Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TKey'></a>
12-
`TKey`
13-
The dictionary key type
14-
15-
<a name='Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TValue'></a>
16-
`TValue`
17-
The dictionary value type
18-
19-
#### Parameters
20-
<a name='Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-source'></a>
21-
`source` [System.Collections.Generic.IDictionary&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TKey](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TKey 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TKey')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TValue](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TValue 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TValue')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')
22-
The dictionary of old values
23-
24-
<a name='Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-newDictionary'></a>
25-
`newDictionary` [System.Collections.Generic.IDictionary&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TKey](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TKey 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TKey')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TValue](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TValue 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TValue')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')
26-
The dictionary with new values
27-
28-
#### Returns
29-
[System.Collections.Generic.IDictionary&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TKey](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TKey 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TKey')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TValue](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TValue 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TValue')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')
30-
A merged dictionary whose keys are a union of the keys of the two dictionaries, and
31-
whose values are drawn from the second dictionary if they are present, otherwise the first.
1+
#### [Atrea.Extensions](./index.md 'index')
2+
### [Atrea.Extensions](./Atrea-Extensions.md 'Atrea.Extensions').[DictionaryExtensions](./Atrea-Extensions-DictionaryExtensions.md 'Atrea.Extensions.DictionaryExtensions')
3+
## DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;) Method
4+
Merge the new dictionary into the source directory, overwriting on duplicate keys.
5+
If the new dictionary is null or empty, the first dictionary is returned unmodified.
6+
If the source dictionary is null or empty, the new dictionary is returned unmodified.
7+
```csharp
8+
public static System.Collections.Generic.IDictionary<TKey,TValue> Merge<TKey,TValue>(this System.Collections.Generic.IDictionary<TKey,TValue> source, System.Collections.Generic.IDictionary<TKey,TValue> newDictionary);
9+
```
10+
#### Type parameters
11+
<a name='Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TKey'></a>
12+
`TKey`
13+
The dictionary key type
14+
15+
<a name='Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TValue'></a>
16+
`TValue`
17+
The dictionary value type
18+
19+
#### Parameters
20+
<a name='Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-source'></a>
21+
`source` [System.Collections.Generic.IDictionary&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TKey](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TKey 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TKey')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TValue](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TValue 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TValue')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')
22+
The dictionary of old values
23+
24+
<a name='Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-newDictionary'></a>
25+
`newDictionary` [System.Collections.Generic.IDictionary&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TKey](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TKey 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TKey')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TValue](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TValue 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TValue')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')
26+
The dictionary with new values
27+
28+
#### Returns
29+
[System.Collections.Generic.IDictionary&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TKey](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TKey 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TKey')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')[TValue](#Atrea-Extensions-DictionaryExtensions-Merge-TKey_TValue-(System-Collections-Generic-IDictionary-TKey_TValue-_System-Collections-Generic-IDictionary-TKey_TValue-)-TValue 'Atrea.Extensions.DictionaryExtensions.Merge&lt;TKey,TValue&gt;(System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;, System.Collections.Generic.IDictionary&lt;TKey,TValue&gt;).TValue')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IDictionary-2 'System.Collections.Generic.IDictionary`2')
30+
A merged dictionary whose keys are a union of the keys of the two dictionaries, and
31+
whose values are drawn from the second dictionary if they are present, otherwise the first.
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
1-
#### [Atrea.Extensions](./index.md 'index')
2-
### [Atrea.Extensions](./Atrea-Extensions.md 'Atrea.Extensions').[DictionaryExtensions](./Atrea-Extensions-DictionaryExtensions.md 'Atrea.Extensions.DictionaryExtensions')
3-
## DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;) Method
4-
Create a lookup by key that maps to multiple items per key.
5-
```csharp
6-
public static System.Collections.Generic.Dictionary<TKey,System.Collections.Generic.List<TValue>> ToMultiLookup<TKey,TValue>(this System.Collections.Generic.IEnumerable<TValue> source, System.Func<TValue,TKey> keyFunction);
7-
```
8-
#### Type parameters
9-
<a name='Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TKey'></a>
10-
`TKey`
11-
The dictionary key type
12-
13-
<a name='Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TValue'></a>
14-
`TValue`
15-
The source item type
16-
17-
#### Parameters
18-
<a name='Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-source'></a>
19-
`source` [System.Collections.Generic.IEnumerable&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[TValue](#Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TValue 'Atrea.Extensions.DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;).TValue')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')
20-
The source enumeration
21-
22-
<a name='Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-keyFunction'></a>
23-
`keyFunction` [System.Func&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2')[TValue](#Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TValue 'Atrea.Extensions.DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;).TValue')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2')[TKey](#Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TKey 'Atrea.Extensions.DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;).TKey')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2')
24-
The function to map items to their keys
25-
26-
#### Returns
27-
[System.Collections.Generic.Dictionary&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System.Collections.Generic.Dictionary`2')[TKey](#Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TKey 'Atrea.Extensions.DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;).TKey')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System.Collections.Generic.Dictionary`2')[System.Collections.Generic.List&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System.Collections.Generic.List`1')[TValue](#Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TValue 'Atrea.Extensions.DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;).TValue')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System.Collections.Generic.List`1')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System.Collections.Generic.Dictionary`2')
28-
A dictionary mapping keys to an enumeration of source items with that key
1+
#### [Atrea.Extensions](./index.md 'index')
2+
### [Atrea.Extensions](./Atrea-Extensions.md 'Atrea.Extensions').[DictionaryExtensions](./Atrea-Extensions-DictionaryExtensions.md 'Atrea.Extensions.DictionaryExtensions')
3+
## DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;) Method
4+
Create a lookup by key that maps to multiple items per key.
5+
```csharp
6+
public static System.Collections.Generic.Dictionary<TKey,System.Collections.Generic.List<TValue>> ToMultiLookup<TKey,TValue>(this System.Collections.Generic.IEnumerable<TValue> source, System.Func<TValue,TKey> keyFunction);
7+
```
8+
#### Type parameters
9+
<a name='Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TKey'></a>
10+
`TKey`
11+
The dictionary key type
12+
13+
<a name='Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TValue'></a>
14+
`TValue`
15+
The source item type
16+
17+
#### Parameters
18+
<a name='Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-source'></a>
19+
`source` [System.Collections.Generic.IEnumerable&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')[TValue](#Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TValue 'Atrea.Extensions.DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;).TValue')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System.Collections.Generic.IEnumerable`1')
20+
The source enumeration
21+
22+
<a name='Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-keyFunction'></a>
23+
`keyFunction` [System.Func&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2')[TValue](#Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TValue 'Atrea.Extensions.DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;).TValue')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2')[TKey](#Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TKey 'Atrea.Extensions.DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;).TKey')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System.Func`2')
24+
The function to map items to their keys
25+
26+
#### Returns
27+
[System.Collections.Generic.Dictionary&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System.Collections.Generic.Dictionary`2')[TKey](#Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TKey 'Atrea.Extensions.DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;).TKey')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System.Collections.Generic.Dictionary`2')[System.Collections.Generic.List&lt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System.Collections.Generic.List`1')[TValue](#Atrea-Extensions-DictionaryExtensions-ToMultiLookup-TKey_TValue-(System-Collections-Generic-IEnumerable-TValue-_System-Func-TValue_TKey-)-TValue 'Atrea.Extensions.DictionaryExtensions.ToMultiLookup&lt;TKey,TValue&gt;(System.Collections.Generic.IEnumerable&lt;TValue&gt;, System.Func&lt;TValue,TKey&gt;).TValue')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System.Collections.Generic.List`1')[&gt;](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System.Collections.Generic.Dictionary`2')
28+
A dictionary mapping keys to an enumeration of source items with that key

0 commit comments

Comments
 (0)