1
using System;
2
using System.Drawing;
3
using System.Collections;
4
using System.ComponentModel;
5
using System.Windows.Forms;
6
using System.Data;
7
8![](/Images/OutliningIndicators/None.gif)
9
namespace 哈希表
10
{
11
/// <summary>
12
/// Form1 的摘要说明。
13
/// </summary>
14
public class Form1 : System.Windows.Forms.Form
15
{
16
private System.Windows.Forms.Button button1;
17
private System.Windows.Forms.RichTextBox richTextBox1;
18
/// <summary>
19
/// 必需的设计器变量。
20
/// </summary>
21
private System.ComponentModel.Container components = null;
22![](/Images/OutliningIndicators/InBlock.gif)
23
public Form1()
24
{
25
//
26
// Windows 窗体设计器支持所必需的
27
//
28
InitializeComponent();
29![](/Images/OutliningIndicators/InBlock.gif)
30
//
31
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
32
//
33
}
34![](/Images/OutliningIndicators/InBlock.gif)
35
/// <summary>
36
/// 清理所有正在使用的资源。
37
/// </summary>
38
protected override void Dispose( bool disposing )
39
{
40
if( disposing )
41
{
42
if (components != null)
43
{
44
components.Dispose();
45
}
46
}
47
base.Dispose( disposing );
48
}
49![](/Images/OutliningIndicators/InBlock.gif)
50
Windows 窗体设计器生成的代码
90![](/Images/OutliningIndicators/InBlock.gif)
91
/// <summary>
92
/// 应用程序的主入口点。
93
/// </summary>
94
[STAThread]
95
static void Main()
96
{
97
Application.Run(new Form1());
98
}
99![](/Images/OutliningIndicators/InBlock.gif)
100
// 每个元素是一个存储在 DictionaryEntry 对象中的键/值对。键不能为空引用(Visual Basic 中为 Nothing),但值可以。
101
//
102
// 用作 Hashtable 中的键的对象必须实现或继承 Object.GetHashCode 和 Object.Equals 方法。如果键相等性只是引用相等性,这些方法的继承实现将满足需要。此外,如果该键存在于 Hashtable 中,那么当使用相同参数调用这些方法时,这些方法必须生成相同的结果。只要键对象用作 Hashtable 中的键,它们就必须是永远不变的。
103
//
104
// 当把某个元素添加到 Hashtable 时,将根据键的哈希代码将该元素放入存储桶中。该键的后续查找将使用键的哈希代码只在一个特定存储桶中搜索,这将大大减少为查找一个元素所需的键比较的次数。
105
//
106
// Hashtable 的加载因子确定元素与存储桶的最大比率。加载因子越小,平均查找速度越快,但消耗的内存也增加。默认的加载因子 1.0 通常提供速度和大小之间的最佳平衡。当创建 Hashtable 时,也可以指定其他加载因子。
107
//
108
// 当向 Hashtable 添加元素时,Hashtable 的实际加载因子将增加。当实际加载因子达到此加载因子时,Hashtable 中存储桶的数目自动增加到大于当前 Hashtable 存储桶数两倍的最小质数。
109
//
110
// Hashtable 中的每个键对象必须提供其自己的哈希函数,可通过调用 GetHash 访问该函数。但是,可将任何实现 IHashCodeProvider 的对象传递到 Hashtable 构造函数,而且该哈希函数用于该表中的所有对象。
111![](/Images/OutliningIndicators/InBlock.gif)
112
113
114
private void button1_Click(object sender, System.EventArgs e)
115
{
116![](/Images/OutliningIndicators/InBlock.gif)
117
//为哈希表增加值
118
this.richTextBox1.Text ="";
119
// Creates and initializes a new Hashtable.
120
Hashtable myHT = new Hashtable();
121
for(int j=0;j<20;j++)
122
myHT.Add("frj"+ j.ToString() ,j ); //注意如果第二个参数采用非数值型将不能用于后面的数据加运算(Dchart.Data =myHT).
123![](/Images/OutliningIndicators/InBlock.gif)
124
// Displays the properties and values of the Hashtable.
125
this.richTextBox1.Text += ( "我的哈希表:" )+"\n";
126
this.richTextBox1.Text +=( " Count: "+ myHT.Count.ToString()+"\n" );
127
this.richTextBox1.Text +=( "\tKeys and Values:\n" );
128
PrintKeysAndValues( myHT );
129![](/Images/OutliningIndicators/InBlock.gif)
130
//将哈希表转为一维键/值对数组
131
//这样将方便直接引用
132
133
this.richTextBox1.Text +="将哈希表转换所得: \n";
134![](/Images/OutliningIndicators/InBlock.gif)
135
DrawPieChart Dchart=new DrawPieChart();
136
137
Dchart.Data =myHT;
138
139
for (int i=1;i<Dchart.data.Length ;i++)
140
this.richTextBox1.Text +=("\t" +Dchart.data.Keys[i].ToString()+"\t" +Dchart.data.Values[i].ToString()+"\n" );
141
142![](/Images/OutliningIndicators/InBlock.gif)
143
this.richTextBox1.Text +="取第 6 个数: "+ Dchart.data.Values[6].ToString()+"\n"+"各数总和 : "+Dchart.data.TotalValue.ToString() ;
144![](/Images/OutliningIndicators/InBlock.gif)
145![](/Images/OutliningIndicators/InBlock.gif)
146
}
147![](/Images/OutliningIndicators/InBlock.gif)
148
149![](/Images/OutliningIndicators/InBlock.gif)
150
public void PrintKeysAndValues( Hashtable myList )
151
{
152
IDictionaryEnumerator myEnumerator = myList.GetEnumerator();
153
this.richTextBox1.Text +=( "\t-KEY-\t-VALUE-\n" );
154
while ( myEnumerator.MoveNext() )
155
this.richTextBox1.Text +=("\t" +myEnumerator.Key.ToString()+"\t" + myEnumerator.Value.ToString()+"\n" );
156
this.richTextBox1.Text+="另一种遍历方法\n" ;
157
158
this.richTextBox1.Text+="总个数:\t"+myList.Count.ToString()+"\n";
159
foreach (DictionaryEntry myDE in myList)
160
{
161
162
this.richTextBox1.Text +=("\t" +myDE.Key.ToString()+"\t" + myDE.Value.ToString()+"\n" );
163
164
}
165![](/Images/OutliningIndicators/InBlock.gif)
166
}
167
168
169![](/Images/OutliningIndicators/InBlock.gif)
170
}
171![](/Images/OutliningIndicators/InBlock.gif)
172
173
public abstract class mrfuChart : Control //创建一个抽象类
174
{
175
176
public bool DataIsSorted = false;
177
public bool DataIsGrouped = true;
178
public bool IsStretch = true;
179
protected const int MINIMUM_PIECE = 1;
180
protected const int SMALLEST_DISPLAY_IN_PERCENT = 2;
181
// protected StringInt64PairedArray data;
182
public StringInt64PairedArray data;
183
public IDictionary Data
184
{
185
set
186
{
187
data = new StringInt64PairedArray (value);
188
189
int i=data.Length ;
190
DataIsSorted=true;
191
DataIsGrouped=true;
192
if (DataIsSorted) data.SortValuesDesc ();
193
if (DataIsGrouped) data.GroupValues (MINIMUM_PIECE,
194
SMALLEST_DISPLAY_IN_PERCENT);
195
196
}
197
}
198
199
public mrfuChart ()
200
{
201
Width = 100;
202
Height = 100;
203
}
204
205
}
206![](/Images/OutliningIndicators/InBlock.gif)
207
public class DrawPieChart : mrfuChart //绘制饼状图 继承自抽象类
208
{
209
//定义自已的相关操作
210
// public int Diameter { get {return _diameter;} set {_diameter = value;}}
211
// private int _diameter = 100;
212
//
213
// // Method to draw the pie chart
214
// protected override void DrawChart()
215
// {
216
// // Calculate the size
217
// int d = (int) Math.Min (LEFT_SECTION_RATIO * Width, 0.9 * Height);
218
// _diameter = (int) Math.Min (d, CHART_WIDTH_MAX);
219
// ChartWidth = _diameter;
220
//
221
// int topX = (int) (SPACE_RATIO * Width / 2);
222
// int topY = (int) ((Height - _diameter) / 2);
223
// int startAngle = -90;
224
// int sweepAngle = 0;
225
//
226
// // Loop to draw the Pies
227
// for (int i=0; i<data.Length; i++)
228
// {
229
// Brush theBrush = brush[i % brush.Length];
230
//
231
// if (i < data.Keys.Length-1)
232
// sweepAngle = (int) Math.Round( (float) data.Values[i] * 360 / data.TotalValue);
233
// else
234
// {
235
// sweepAngle = 270 - startAngle;
236
// if (data.IsGrouped)
237
// theBrush = Brushes.Gold;
238
// }
239
// graphics.FillPie (theBrush, topX, topY,
240
// _diameter, _diameter, startAngle, sweepAngle);
241
// startAngle += (int) sweepAngle;
242
// startAngle = (startAngle>=360) ? startAngle - 360 : startAngle;
243
// }
244
// }
245![](/Images/OutliningIndicators/InBlock.gif)
246![](/Images/OutliningIndicators/InBlock.gif)
247
}
248![](/Images/OutliningIndicators/InBlock.gif)
249![](/Images/OutliningIndicators/InBlock.gif)
250
public class StringInt64PairedArray //对哈希表转换成包含自己所要获取的相关数据集合的类
251
{
252
public string[] Keys { get {return _keys;} }
253
public long[] Values { get {return _values;} }
254
public long TotalValue { get {return _totalValue;} }
255
public int Length {get {return Keys.Length;} }
256
public bool IsGrouped {get {return _isGrouped;} }
257![](/Images/OutliningIndicators/InBlock.gif)
258
private long _totalValue = 0;
259
private string[] _keys;
260
private long[] _values;
261
private bool _isSortedDesc;
262
private bool _isGrouped;
263
264
public StringInt64PairedArray (IDictionary pData)
265
{
266
_keys = new string [pData.Count];
267
_values = new long[pData.Count];
268
pData.Keys.CopyTo (_keys, 0);
269
pData.Values.CopyTo (_values, 0);
270
for (int i=0; i<_values.Length; i++)
271
_totalValue += _values[i];
272
_isSortedDesc = false;
273
_isGrouped = false;
274
}
275![](/Images/OutliningIndicators/InBlock.gif)
276
public void SortValuesDesc()
277
{
278
Array.Sort (_values, _keys, new DescendingComparer()); //DescendingComparer
279
_isSortedDesc = true;
280
}
281![](/Images/OutliningIndicators/InBlock.gif)
282
public void GroupValues(int pCountMinimum, int pPercentMinimum)
283
{
284
if (!_isSortedDesc)
285
SortValuesDesc();
286![](/Images/OutliningIndicators/InBlock.gif)
287
bool boolStop = false;
288
long sum = 0;
289
int i = 0;
290
while (i < _keys.Length && !boolStop)
291
{
292
if (i<pCountMinimum)
293
{
294
sum += _values[i];
295
}
296
else
297
{
298
sum += _values[i];
299
float percent = _values[i] * 100 / (float) _totalValue;
300
if (percent < pPercentMinimum)
301
{
302
long[] arTemp1 = new long[i+1];
303
string[] arTemp2 = new string[i+1];
304![](/Images/OutliningIndicators/InBlock.gif)
305
Array.Copy (_values, arTemp1, i+1);
306
Array.Copy (_keys, arTemp2, i+1);
307
_values = arTemp1;
308
_keys = arTemp2;
309
_values[i] = _totalValue - sum;
310
_keys[i] = "Others";
311
boolStop = true;
312
_isGrouped = true;
313
}
314
}
315
i++;
316
}
317
}
318
}
319![](/Images/OutliningIndicators/InBlock.gif)
320
class DescendingComparer : IComparer
321
{
322
public int Compare (Object x, Object y)
323
{
324
return Decimal.Compare ((long) y, (long) x);
325
}
326
}
327
}
328![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
46
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
90
![](/Images/OutliningIndicators/InBlock.gif)
91
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
92
![](/Images/OutliningIndicators/InBlock.gif)
93
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
94
![](/Images/OutliningIndicators/InBlock.gif)
95
![](/Images/OutliningIndicators/InBlock.gif)
96
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
97
![](/Images/OutliningIndicators/InBlock.gif)
98
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
99
![](/Images/OutliningIndicators/InBlock.gif)
100
![](/Images/OutliningIndicators/InBlock.gif)
101
![](/Images/OutliningIndicators/InBlock.gif)
102
![](/Images/OutliningIndicators/InBlock.gif)
103
![](/Images/OutliningIndicators/InBlock.gif)
104
![](/Images/OutliningIndicators/InBlock.gif)
105
![](/Images/OutliningIndicators/InBlock.gif)
106
![](/Images/OutliningIndicators/InBlock.gif)
107
![](/Images/OutliningIndicators/InBlock.gif)
108
![](/Images/OutliningIndicators/InBlock.gif)
109
![](/Images/OutliningIndicators/InBlock.gif)
110
![](/Images/OutliningIndicators/InBlock.gif)
111
![](/Images/OutliningIndicators/InBlock.gif)
112
![](/Images/OutliningIndicators/InBlock.gif)
113
![](/Images/OutliningIndicators/InBlock.gif)
114
![](/Images/OutliningIndicators/InBlock.gif)
115
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
116
![](/Images/OutliningIndicators/InBlock.gif)
117
![](/Images/OutliningIndicators/InBlock.gif)
118
![](/Images/OutliningIndicators/InBlock.gif)
119
![](/Images/OutliningIndicators/InBlock.gif)
120
![](/Images/OutliningIndicators/InBlock.gif)
121
![](/Images/OutliningIndicators/InBlock.gif)
122
![](/Images/OutliningIndicators/InBlock.gif)
123
![](/Images/OutliningIndicators/InBlock.gif)
124
![](/Images/OutliningIndicators/InBlock.gif)
125
![](/Images/OutliningIndicators/InBlock.gif)
126
![](/Images/OutliningIndicators/InBlock.gif)
127
![](/Images/OutliningIndicators/InBlock.gif)
128
![](/Images/OutliningIndicators/InBlock.gif)
129
![](/Images/OutliningIndicators/InBlock.gif)
130
![](/Images/OutliningIndicators/InBlock.gif)
131
![](/Images/OutliningIndicators/InBlock.gif)
132
![](/Images/OutliningIndicators/InBlock.gif)
133
![](/Images/OutliningIndicators/InBlock.gif)
134
![](/Images/OutliningIndicators/InBlock.gif)
135
![](/Images/OutliningIndicators/InBlock.gif)
136
![](/Images/OutliningIndicators/InBlock.gif)
137
![](/Images/OutliningIndicators/InBlock.gif)
138
![](/Images/OutliningIndicators/InBlock.gif)
139
![](/Images/OutliningIndicators/InBlock.gif)
140
![](/Images/OutliningIndicators/InBlock.gif)
141
![](/Images/OutliningIndicators/InBlock.gif)
142
![](/Images/OutliningIndicators/InBlock.gif)
143
![](/Images/OutliningIndicators/InBlock.gif)
144
![](/Images/OutliningIndicators/InBlock.gif)
145
![](/Images/OutliningIndicators/InBlock.gif)
146
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
147
![](/Images/OutliningIndicators/InBlock.gif)
148
![](/Images/OutliningIndicators/InBlock.gif)
149
![](/Images/OutliningIndicators/InBlock.gif)
150
![](/Images/OutliningIndicators/InBlock.gif)
151
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
152
![](/Images/OutliningIndicators/InBlock.gif)
153
![](/Images/OutliningIndicators/InBlock.gif)
154
![](/Images/OutliningIndicators/InBlock.gif)
155
![](/Images/OutliningIndicators/InBlock.gif)
156
![](/Images/OutliningIndicators/InBlock.gif)
157
![](/Images/OutliningIndicators/InBlock.gif)
158
![](/Images/OutliningIndicators/InBlock.gif)
159
![](/Images/OutliningIndicators/InBlock.gif)
160
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
161
![](/Images/OutliningIndicators/InBlock.gif)
162
![](/Images/OutliningIndicators/InBlock.gif)
163
![](/Images/OutliningIndicators/InBlock.gif)
164
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
165
![](/Images/OutliningIndicators/InBlock.gif)
166
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
167
![](/Images/OutliningIndicators/InBlock.gif)
168
![](/Images/OutliningIndicators/InBlock.gif)
169
![](/Images/OutliningIndicators/InBlock.gif)
170
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
171
![](/Images/OutliningIndicators/InBlock.gif)
172
![](/Images/OutliningIndicators/InBlock.gif)
173
![](/Images/OutliningIndicators/InBlock.gif)
174
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
175
![](/Images/OutliningIndicators/InBlock.gif)
176
![](/Images/OutliningIndicators/InBlock.gif)
177
![](/Images/OutliningIndicators/InBlock.gif)
178
![](/Images/OutliningIndicators/InBlock.gif)
179
![](/Images/OutliningIndicators/InBlock.gif)
180
![](/Images/OutliningIndicators/InBlock.gif)
181
![](/Images/OutliningIndicators/InBlock.gif)
182
![](/Images/OutliningIndicators/InBlock.gif)
183
![](/Images/OutliningIndicators/InBlock.gif)
184
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
185
![](/Images/OutliningIndicators/InBlock.gif)
186
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
187
![](/Images/OutliningIndicators/InBlock.gif)
188
![](/Images/OutliningIndicators/InBlock.gif)
189
![](/Images/OutliningIndicators/InBlock.gif)
190
![](/Images/OutliningIndicators/InBlock.gif)
191
![](/Images/OutliningIndicators/InBlock.gif)
192
![](/Images/OutliningIndicators/InBlock.gif)
193
![](/Images/OutliningIndicators/InBlock.gif)
194
![](/Images/OutliningIndicators/InBlock.gif)
195
![](/Images/OutliningIndicators/InBlock.gif)
196
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
197
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
198
![](/Images/OutliningIndicators/InBlock.gif)
199
![](/Images/OutliningIndicators/InBlock.gif)
200
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
201
![](/Images/OutliningIndicators/InBlock.gif)
202
![](/Images/OutliningIndicators/InBlock.gif)
203
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
204
![](/Images/OutliningIndicators/InBlock.gif)
205
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
206
![](/Images/OutliningIndicators/InBlock.gif)
207
![](/Images/OutliningIndicators/InBlock.gif)
208
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
209
![](/Images/OutliningIndicators/InBlock.gif)
210
![](/Images/OutliningIndicators/InBlock.gif)
211
![](/Images/OutliningIndicators/InBlock.gif)
212
![](/Images/OutliningIndicators/InBlock.gif)
213
![](/Images/OutliningIndicators/InBlock.gif)
214
![](/Images/OutliningIndicators/InBlock.gif)
215
![](/Images/OutliningIndicators/InBlock.gif)
216
![](/Images/OutliningIndicators/InBlock.gif)
217
![](/Images/OutliningIndicators/InBlock.gif)
218
![](/Images/OutliningIndicators/InBlock.gif)
219
![](/Images/OutliningIndicators/InBlock.gif)
220
![](/Images/OutliningIndicators/InBlock.gif)
221
![](/Images/OutliningIndicators/InBlock.gif)
222
![](/Images/OutliningIndicators/InBlock.gif)
223
![](/Images/OutliningIndicators/InBlock.gif)
224
![](/Images/OutliningIndicators/InBlock.gif)
225
![](/Images/OutliningIndicators/InBlock.gif)
226
![](/Images/OutliningIndicators/InBlock.gif)
227
![](/Images/OutliningIndicators/InBlock.gif)
228
![](/Images/OutliningIndicators/InBlock.gif)
229
![](/Images/OutliningIndicators/InBlock.gif)
230
![](/Images/OutliningIndicators/InBlock.gif)
231
![](/Images/OutliningIndicators/InBlock.gif)
232
![](/Images/OutliningIndicators/InBlock.gif)
233
![](/Images/OutliningIndicators/InBlock.gif)
234
![](/Images/OutliningIndicators/InBlock.gif)
235
![](/Images/OutliningIndicators/InBlock.gif)
236
![](/Images/OutliningIndicators/InBlock.gif)
237
![](/Images/OutliningIndicators/InBlock.gif)
238
![](/Images/OutliningIndicators/InBlock.gif)
239
![](/Images/OutliningIndicators/InBlock.gif)
240
![](/Images/OutliningIndicators/InBlock.gif)
241
![](/Images/OutliningIndicators/InBlock.gif)
242
![](/Images/OutliningIndicators/InBlock.gif)
243
![](/Images/OutliningIndicators/InBlock.gif)
244
![](/Images/OutliningIndicators/InBlock.gif)
245
![](/Images/OutliningIndicators/InBlock.gif)
246
![](/Images/OutliningIndicators/InBlock.gif)
247
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
248
![](/Images/OutliningIndicators/InBlock.gif)
249
![](/Images/OutliningIndicators/InBlock.gif)
250
![](/Images/OutliningIndicators/InBlock.gif)
251
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
252
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
253
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
254
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
255
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
256
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
257
![](/Images/OutliningIndicators/InBlock.gif)
258
![](/Images/OutliningIndicators/InBlock.gif)
259
![](/Images/OutliningIndicators/InBlock.gif)
260
![](/Images/OutliningIndicators/InBlock.gif)
261
![](/Images/OutliningIndicators/InBlock.gif)
262
![](/Images/OutliningIndicators/InBlock.gif)
263
![](/Images/OutliningIndicators/InBlock.gif)
264
![](/Images/OutliningIndicators/InBlock.gif)
265
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
266
![](/Images/OutliningIndicators/InBlock.gif)
267
![](/Images/OutliningIndicators/InBlock.gif)
268
![](/Images/OutliningIndicators/InBlock.gif)
269
![](/Images/OutliningIndicators/InBlock.gif)
270
![](/Images/OutliningIndicators/InBlock.gif)
271
![](/Images/OutliningIndicators/InBlock.gif)
272
![](/Images/OutliningIndicators/InBlock.gif)
273
![](/Images/OutliningIndicators/InBlock.gif)
274
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
275
![](/Images/OutliningIndicators/InBlock.gif)
276
![](/Images/OutliningIndicators/InBlock.gif)
277
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
278
![](/Images/OutliningIndicators/InBlock.gif)
279
![](/Images/OutliningIndicators/InBlock.gif)
280
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
281
![](/Images/OutliningIndicators/InBlock.gif)
282
![](/Images/OutliningIndicators/InBlock.gif)
283
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
284
![](/Images/OutliningIndicators/InBlock.gif)
285
![](/Images/OutliningIndicators/InBlock.gif)
286
![](/Images/OutliningIndicators/InBlock.gif)
287
![](/Images/OutliningIndicators/InBlock.gif)
288
![](/Images/OutliningIndicators/InBlock.gif)
289
![](/Images/OutliningIndicators/InBlock.gif)
290
![](/Images/OutliningIndicators/InBlock.gif)
291
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
292
![](/Images/OutliningIndicators/InBlock.gif)
293
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
294
![](/Images/OutliningIndicators/InBlock.gif)
295
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
296
![](/Images/OutliningIndicators/InBlock.gif)
297
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
298
![](/Images/OutliningIndicators/InBlock.gif)
299
![](/Images/OutliningIndicators/InBlock.gif)
300
![](/Images/OutliningIndicators/InBlock.gif)
301
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
302
![](/Images/OutliningIndicators/InBlock.gif)
303
![](/Images/OutliningIndicators/InBlock.gif)
304
![](/Images/OutliningIndicators/InBlock.gif)
305
![](/Images/OutliningIndicators/InBlock.gif)
306
![](/Images/OutliningIndicators/InBlock.gif)
307
![](/Images/OutliningIndicators/InBlock.gif)
308
![](/Images/OutliningIndicators/InBlock.gif)
309
![](/Images/OutliningIndicators/InBlock.gif)
310
![](/Images/OutliningIndicators/InBlock.gif)
311
![](/Images/OutliningIndicators/InBlock.gif)
312
![](/Images/OutliningIndicators/InBlock.gif)
313
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
314
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
315
![](/Images/OutliningIndicators/InBlock.gif)
316
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
317
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
318
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
319
![](/Images/OutliningIndicators/InBlock.gif)
320
![](/Images/OutliningIndicators/InBlock.gif)
321
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
322
![](/Images/OutliningIndicators/InBlock.gif)
323
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
324
![](/Images/OutliningIndicators/InBlock.gif)
325
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
326
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
327
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
328
![](/Images/OutliningIndicators/None.gif)