Skip to content

Commit a59a854

Browse files
Alvin SevilleAlvin Seville
authored andcommitted
closes #4
1 parent 6862668 commit a59a854

File tree

2 files changed

+138
-0
lines changed

2 files changed

+138
-0
lines changed

NETMouse - .NET release/ABCNET.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
<Compile Include="Properties\AssemblyInfo.cs" />
6060
<Compile Include="Utils\Arr.cs" />
6161
<Compile Include="Utils\Base.cs" />
62+
<Compile Include="Utils\PABCSystem.cs" />
6263
<Compile Include="Utils\Seq.cs" />
6364
<Compile Include="Utils\Matr.cs" />
6465
<Compile Include="Utils\Tup.cs" />
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
using System;
2+
using System.Collections.Generic;
3+
4+
namespace ABCNET.Utils
5+
{
6+
/// <summary>
7+
/// Добавлен ради совместимости с PABCSystem.
8+
/// </summary>
9+
public static class PABCSystem
10+
{
11+
/// <summary>
12+
/// Возвращает словарь пар элементов (ключ, значение).
13+
/// </summary>
14+
public static Dictionary<TKey, TValue> Dict<TKey, TValue>(params KeyValuePair<TKey, TValue>[] pairs)
15+
{
16+
if (pairs == null)
17+
throw new ArgumentNullException("pairs");
18+
19+
Dictionary<TKey, TValue> d = new Dictionary<TKey, TValue>();
20+
foreach (var item in pairs)
21+
d.Add(item.Key, item.Value);
22+
23+
return d;
24+
}
25+
26+
/// <summary>
27+
/// Возвращает словарь пар элементов (ключ, значение).
28+
/// </summary>
29+
public static Dictionary<TKey, TValue> Dict<TKey, TValue>(params Tuple<TKey, TValue>[] pairs)
30+
{
31+
if (pairs == null)
32+
throw new ArgumentNullException("pairs");
33+
34+
Dictionary<TKey, TValue> d = new Dictionary<TKey, TValue>();
35+
foreach (var item in pairs)
36+
d.Add(item.Item1, item.Item2);
37+
38+
return d;
39+
}
40+
41+
/// <summary>
42+
/// Возвращает множество на базе хеш таблицы, заполненное указанными значениями.
43+
/// </summary>
44+
public static HashSet<T> HSet<T>(params T[] values)
45+
{
46+
if (values == null)
47+
throw new ArgumentNullException("values");
48+
49+
return new HashSet<T>(values);
50+
}
51+
52+
/// <summary>
53+
/// Возвращает множество на базе хеш таблицы, заполненное значениями из последовательности.
54+
/// </summary>
55+
public static HashSet<T> HSet<T>(IEnumerable<T> values)
56+
{
57+
if (values == null)
58+
throw new ArgumentNullException("values");
59+
60+
return new HashSet<T>(values);
61+
}
62+
63+
/// <summary>
64+
/// Возвращает пару элементов (ключ, значение).
65+
/// </summary>
66+
public static KeyValuePair<TKey, TValue> KV<TKey, TValue>(TKey key, TValue value)
67+
{
68+
return new KeyValuePair<TKey, TValue>(key, value);
69+
}
70+
71+
/// <summary>
72+
/// Возвращает двусвязный список, заполненный указанными значениями.
73+
/// </summary>
74+
public static LinkedList<T> LLst<T>(params T[] values)
75+
{
76+
if (values == null)
77+
throw new ArgumentNullException("values");
78+
79+
return new LinkedList<T>(values);
80+
}
81+
82+
/// <summary>
83+
/// Возвращает двусвязный список, заполненный значениями из последовательности.
84+
/// </summary>
85+
public static LinkedList<T> LLst<T>(IEnumerable<T> values)
86+
{
87+
if (values == null)
88+
throw new ArgumentNullException("values");
89+
90+
return new LinkedList<T>(values);
91+
}
92+
93+
/// <summary>
94+
/// Возвращает список, заполненный указанными значениями.
95+
/// </summary>
96+
public static List<T> Lst<T>(params T[] values)
97+
{
98+
if (values == null)
99+
throw new ArgumentNullException("values");
100+
101+
return new List<T>(values);
102+
}
103+
104+
/// <summary>
105+
/// Возвращает список, заполненный значениями из последовательности.
106+
/// </summary>
107+
public static List<T> Lst<T>(IEnumerable<T> values)
108+
{
109+
if (values == null)
110+
throw new ArgumentNullException("values");
111+
112+
return new List<T>(values);
113+
}
114+
115+
/// <summary>
116+
/// Возвращает множество на базе бинарного дерева поиска, заполненное указанными значениями.
117+
/// </summary>
118+
public static SortedSet<T> SSet<T>(params T[] values)
119+
{
120+
if (values == null)
121+
throw new ArgumentNullException("values");
122+
123+
return new SortedSet<T>(values);
124+
}
125+
126+
/// <summary>
127+
/// <summary>Возвращает множество на базе бинарного дерева поиска, заполненное значениями из последовательности.
128+
/// </summary>
129+
public static SortedSet<T> SSet<T>(IEnumerable<T> values)
130+
{
131+
if (values == null)
132+
throw new ArgumentNullException("values");
133+
134+
return new SortedSet<T>(values);
135+
}
136+
}
137+
}

0 commit comments

Comments
 (0)