LenovoLegionToolkit

Форк
0
23 строки · 846.0 Байт
1
using System.Collections.Generic;
2
using System.Collections.ObjectModel;
3

4
namespace LenovoLegionToolkit.Lib.Extensions;
5

6
public static class DictionaryExtensions
7
{
8
    public static ReadOnlyDictionary<TKey, TValue> AsReadOnlyDictionary<TKey, TValue>(this IDictionary<TKey, TValue> source) where TKey : notnull
9
    {
10
        return new ReadOnlyDictionary<TKey, TValue>(source);
11
    }
12

13
    public static void AddRange<TKey, TValue>(this IDictionary<TKey, TValue> source, IDictionary<TKey, TValue> items)
14
    {
15
        foreach (var keyValuePair in items)
16
            source.Add(keyValuePair.Key, keyValuePair.Value);
17
    }
18

19
    public static TValue? GetValueOrNull<TKey, TValue>(this IReadOnlyDictionary<TKey, TValue> dictionary, TKey key) where TValue : struct
20
    {
21
        return !dictionary.TryGetValue(key, out var obj) ? null : obj;
22
    }
23
}
24

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.