2009年4月9日 星期四

入門C#----ArrayList類別

廢言
昨天偷懶之後的結果
哀~結果懶偷了物理一樣沒看
話說
今天的受的奇此大辱我會記住的

﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍
今天這個相當的重要也滿好用的(好像)
首先必須先在開頭建立命名空間
using System.Collections;
接著就可以建立ArrayList物件了
建立方法跟亂數時間類似
ArrayList 陣列名稱 = new ArrayList();

本次範例用到的屬性
Count取得陣列元素中的總數目
寫法
陣列名稱.Count
用到的方法
Add
將物件加入到ArrayList的最後
Insert
將物件插入到ArrayList指定索引位置
Remove
由ArrayList移除第一個符合指定物件的陣列元素
Sort
將ArrayList中所有元素做遞增方式排序
Reverse
將ArrayList所有元素反轉
BinarySearch
使用二分搜尋法由ArrayList搜尋指定的物件找不到則傳回負值(必須先做遞增排序『Sort』)

程式碼


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace ConsoleApplication1
{
class Program
{

static void Main(string[] args)
{
ArrayList custList = new ArrayList() ;
object custName;
int k, count;
string goOn = "Y";
while (goOn.ToUpper() == "Y")
{
Console.Write("請輸入客戶名稱: ");
custName = Console.ReadLine();
custList.Add(custName);
Console.Write("是否繼續輸入?(Y/N): ");
goOn = Console.ReadLine();
Console.WriteLine();
}
Console.WriteLine();

Console.Write("檢查輸入資料: ");
count = custList.Count;
for (k = 0; k <= custList.Count - 1; k++) { Console.Write(custList[k] + " "); } Console.WriteLine(); custList.Sort(); Console.Write("遞增排序結果: "); for (k = 0; k <= count - 1; k++) { Console.Write(custList[k] + " "); } Console.WriteLine(); custList.Reverse(); Console.Write("遞減排序結果: "); for (k = 0; k <= count - 1; k++) { Console.Write(custList[k] + " "); } Console.WriteLine("\n"); Console.WriteLine("將客戶資料由遞減改回遞增排序,以做二分化資料查詢\n"); custList.Reverse(); for (k = 0; k <= count - 1; k++) { Console.Write(custList[k] + " "); } Console.WriteLine("\n"); Console.Write("請輸入欲查詢的客戶名稱: "); custName = Console.ReadLine(); Console.WriteLine(); int index; index = custList.BinarySearch(custName); string YN = "N"; if (index >= 0)
{
Console.WriteLine("第{0}位客戶資料是{1}", index+1, custList[index]);
Console.WriteLine();
Console.Write("是否刪除該資料?(Y/N): ");
YN = Console.ReadLine();
if (YN.ToUpper() == "Y")
{
custList.Remove(custName);
}
}
else
{
Console.WriteLine("無此客戶名稱! ");
Console.Write("是否插入該資料?(Y/N): ");
YN = Console.ReadLine();
if (YN.ToUpper() == "Y")
{
custList.Insert(count, custName);
}
}
Console.WriteLine();
Console.Write("顯示陣列最後結果: ");
count = custList.Count;
for (k = 0; k <= count - 1; k++) { Console.Write(custList[k] + " "); } Console.WriteLine(); Console.ReadLine(); } } }




這東東在我看來
應該還有不少功用
預計會先用這個寫個樂透來練習練習


話說
我的記憶果然沒錯
本來嘛
怎麼可能不通知就讓人三三兩兩去領
害我今天還特地跑去受辱(老師都說了只好去囧)

真的想要說的,其實是完全不同的話。
真的想要感受到的,其實是完全不同的心意。
鴻溝從錯過中誕生。。
猶豫不決的心 將人推落恐怖之中。
誰都無法阻止了。
冰冷的感情將赤裸裸表露出來的心、勾引至深沉的殘酷裡。

沒有留言:

張貼留言