Sams - Common ASP.NET Code Techniques (VBL).pdf

(971 KB) Pobierz
ASP.NET: Tips, Tutorials,
and Code
Scott Mitchell, Bill Anders, Rob Howard,
Doug Seven, Stephen Walther,
Christop Wille, and Don Wolthuis
201 West 103rd St., Indianapolis, Indiana, 46290 USA
0-672-32143-2
Spring 2001
995871406.016.png 995871406.017.png 995871406.018.png
995871406.019.png 995871406.001.png 995871406.002.png 995871406.003.png 995871406.004.png
Common ASP.NET Code
Techniques
CHAPTER
2
IN THIS CHAPTER
• Using Collections
4
• Working with the File System
29
• Using Regular Expressions
45
• Generating Images Dynamically
51
• Sending E-mail from an ASP.NET Page
60
• Network Access Via an ASP.NET Page
64
71
79
• Accessing the Windows Event Log
84
93
• Encrypting and Decrypting Information
101
995871406.005.png 995871406.006.png
Common ASP.NET Code Techniques
C HAPTER 2
4
Using Collections
Most modern programming languages provide support for some type of object that can hold
a variable number of elements. These objects are referred to as collections, and they can have
elements added and removed with ease without having to worry about proper memory alloca-
tion. If you’ve programmed with classic ASP before, you’re probably familiar with the
Scripting.Dictionary object, a collection object that references each element with a
textual key. A collection that stores objects in this fashion is known as a hash table.
There are many types of collections in addition to the hash table. Each type of collection is
similar in purpose: it serves as a means to store a varying number of elements, providing an
easy way, at a minimum, to add and remove elements. Each different type of collection is
unique in its method of storing, retrieving, and referencing its various elements.
The .NET Framework provides a number of collection types for the developer to use. In fact,
an entire namespace, System.Collections , is dedicated to collection types and helper classes.
Each of these collection types can store elements of type Object. Because in .NET all primitive
data types—string, integers, date/times, arrays, and so on—are derived from the Object class,
these collections can literally store anything! For example, you could use a single collection to
store a couple of integers, an instance of a classic COM component, a string, a date/time, and
two instances of a custom-written .NET component. Most of the examples in this section use
collections to house primitive data types (strings, integers, doubles). However, Listing 2.1 illus-
trates a collection of collections—that is, a collection type that stores entire collections as each
of its elements!
Throughout this section we’ll examine five collections the .NET Framework offers developers:
the ArrayList , the Hashtable , the SortedList , the Queue , and the Stack . As you study each
of these collections, realize that they all have many similarities. For example, each type of col-
lection can be iterated through element-by-element using a For Each ... Next loop in VB
(or a foreach loop in C#). Each collection type has a number of similarly named functions that
perform the same tasks. For example, each collection type has a Clear method that removes all
elements from the collection, and a Count property that returns the number of elements in the
collection. In fact, the last subsection “Similarities Among the Collection Types” examines the
common traits found among the collection types.
Working with the ArrayList Class
The first type of collection we’ll look at is the ArrayList . With an ArrayList , each item is
stored in sequential order and is indexed numerically. In our following examples, keep in mind
that the developer need not worry himself with memory allocation. With the standard array, the
995871406.007.png 995871406.008.png 995871406.009.png
Common ASP.NET Code Techniques
C HAPTER 2
5
developer cannot easily add and remove elements without concerning himself with the size
and makeup of the array. With all the collections we’ll examine in this chapter, this is no
longer a concern.
Adding, Removing, and Indexing Elements in an ArrayList
The ArrayList class contains a number of methods for adding and removing Objects from the
collection. These include Add , AddRange , Insert , Remove , RemoveAt , RemoveRange , and Clear ,
all of which we’ll examine in Listing 2.1. The output is shown in Figure 2.1.
2
L ISTING 2.1
For Sequentially Accessed Collections, Use the ArrayList
1: <script language=”vb” runat=”server”>
2:
3: Sub Page_Load(source as Object, e as EventArgs)
4: ‘ Create two ArrayLists, aTerritories and aStates
5: Dim aTerritories as New ArrayList
6: Dim aStates as New ArrayList
7:
8: ‘ Use the Add method to add the 50 states of the US
9: aStates.Add(“Alabama”)
10: aStates.Add(“Alaska”)
11: aStates.Add(“Arkansas”)
12: ‘ ...
13: aStates.Add(“Wyoming”)
14:
15: ‘ Build up our list of territories, which includes
16: ‘ all 50 states plus some additional countries
17: aTerritories.AddRange(aStates) ‘ add all 50 states
18: aTerritories.Add(“Guam”)
19: aTerritories.Add(“Puerto Rico”)
20:
21: ‘ We’d like the first territory to be the District of Columbia,
22: ‘ so we’ll explicitly add it to the beginning of the ArrayList
23: aTerritories.Insert(0, “District of Columbia”)
24:
25: ‘ Display all of the territories with a for loop
26: lblTerritories.Text = “<i>There are “ & aTerritories.Count & _
27: “territories...</i><br>”
28:
29: Dim i as Integer
30: For i = 0 to aTerritories.Count - 1
31: lblTerritories.Text = lblTerritories.Text & _
32: aTerritories(i) & “<br>”
33: Next
34:
 
995871406.010.png 995871406.011.png 995871406.012.png 995871406.013.png 995871406.014.png 995871406.015.png
Zgłoś jeśli naruszono regulamin