c#中正規表示式 和 集合 的知識點
正規表示式
在正規表示式中,在使用轉義字元“\”時,需要在字串前加上“@”符號。
string input = "zhangsan@sina.com";
string patten = @"[a-zA-Z]+@[a-zA-Z]+\.com$"; //前需+“@”
Regex r = new Regex(pattern);
Match m = r.match(input);
if(m.success){
}
正則的使用(摘抄的幾個比較容易混淆的):
“ab*”:匹配有一個a後面緊跟著0個或若干個b的字串,如“a”、“ab”、“abb”……
“ab?”:匹配有一個a後面緊跟著0個或1個b的字串,如“a”、“ab”。
“ab{2}”:匹配有一個a跟著兩個b的字串,即“abb”。
“ab{2,}:匹配有一個a跟著多個b的字串,即“abb”、“abbb”……。
“a.[0-9]”:匹配有一個a後面跟著一個任意字元和一個數字的字串。
“^.{3}$”:匹配有任意三個字元的字串。
“[abcd]”:表示一個字串中有一個a或b或c或d,相當於“a|b|c|d”或者[a-d]。
如驗證URL:
其構造規則為:
[協議]://[www].[域名].[com|net|org]
正規表示式為:
“^http://(www.)(0,1).+\.(com|net|org)$”
輸出二維陣列好生麻煩!
int[][] Array =new int[][]
{
new int[]{1,3,5,7,9},
newint[]{2,4,6,8,10},
new int[]{1,2}
};
for(int i = Array.GetLowerBound(0); i <= Array.GetUpperBound(0);i++)
{
for(int j = Array[i].GetLowerBound(0); j <= Array[i].GetUpperBound(0); j++)
{
Console.WriteLine(Array[i][j]);
}
}
集合
集合是一組類似的物件。在c#中,任意型別的物件都可以放入一個集合中,並將其視為Object型別。
所在的名稱空間:System.Collections
其常用的類或結構如下:
System.Collections中的集合種類
ArrayList
BitArray
Hashtable
Queue
Stack
DictionaryBase
SortedList
可以分為以下3類:
1. 一般集合
一般集合是常見的集合資料結構,包括雜湊表、佇列、堆疊、字典和列表等。簡單說明如下:
列表(ArrayList):一個一維的動態陣列,可以裝在一組相似的資料元素。
佇列(Queue):
堆疊(Stack):
雜湊表(Hashtable):集合中的每個元素都是一個<鍵(key),值(value)>對的列表。
字典(Dictionary):一個<鍵(key),值(value)>對。
2. 專用集合
專用集合是具有特定用途的集合,例如StringCollection類,其元素只能為String物件。
3. 位集合
位集合的元素為為標誌,每個元素都是一位,而不是一個物件,常用於運算元又包含0和1的集合應用。
主要講解:
1. ArrayList
常用的形式為:
Public ArrayList();
Public ArrayList(int capacity); // capacity表示含有的元素個數
ArrayListarr1 = new ArrayList();//注:如果不指定,則初始容量為.net的預設值16
ArrayListarr2 = new ArrayList(100);
注:ArrayList中可以存放任何型別的變數,而List型別需要配合模板的使用,並且元素之間必須是同一型別。如:
Debug視窗顯示:
ArrayListArrayList1 = newArrayList();
ArrayList1.Add("hello");
ArrayList1.Add(2343);
List<int>List1 = new List<int> () { 15, 45, 487, 789 };
//輸出
foreach (objecti in ArrayList1)
{
Console.WriteLine(i);
}
foreach (inti in List1)
{
Console.WriteLine(i);
}
2. Queue類
最主要的方法為入隊操作Enqueue和出隊操作Dequeue。其他Queue支援的方法,例如遍歷、清空等,和ArrayList類似。
常用的形式有:
public Queue();//如果不指定,則初始容量為.net的預設值32
public Queue(int capacity);//初始個數
public Queue(int capacity,float growFactor);//growFator為容量的增長率,預設值為2.0
建立3個物件:
Queue queue1 = new Queue();
Queue queue2 = new Queue(100);
Queue queue3 = new Queue(100, 1.5f);
Queuequeue1=new Queue();
//依次入隊:"Hello"、、{1,2,3}
queue1.Enqueue("Hello");
queue1.Enqueue(1);
queue1.Enqueue(newint[]{1,2,3});
//通過出隊操作,輸出佇列中的所有元素,這個順序,與入隊的順序一致
objectoutItem=new object();
while(queue1.Count>0)
{
outItem=queue1.Dequeue();
Console.WriteLine("{0}",outItem);
}
注:Queue也是可以賦上任何型別的值。
3. Stack類
常用的形式
:
public Stack();//預設為10
public Stack(int capacity);
如:
Stack Stack1 = new Stack();
Stack Stack2 = new Stack(100);
常用操作:
Stack1.push();
Stack1.pop();
4. Hashtable類和 SortList類
相關文章
- 正規表示式知識點
- JS 中正規表示式必知必會JS
- JavaScript中正規表示式的使用JavaScript
- Java中正規表示式的使用Java
- java和js中正規表示式的用法和區別JavaJS
- 正規表示式知識(+)
- JS中正規表示式研究(一)JS
- 搞定PHP面試 - 正規表示式知識點整理PHP面試
- 詳解Javascript中正規表示式的使用JavaScript
- postgres中正規表示式及轉義
- SQLSERVER中正規表示式封裝使用SQLServer封裝
- php中正規表示式中的特殊符號PHP符號
- javascript中正規表示式的基礎語法JavaScript
- linux 中正規表示式中?號的作用Linux
- javascript正規表示式 | 知識梳理JavaScript
- 正規表示式基礎知識
- Oracle SQL 語句中正規表示式的應用OracleSQL
- 正規表示式(一) 基礎知識
- JScript中正規表示式用法詳解 replaceJS
- 正規表示式基礎知識總結
- JAVA中正規表示式匹配,替換,查詢,切割的方法Java
- c# 知識點C#
- 總結的Java知識點集合Java
- C++ 11 中正規表示式使用示例及原始碼分析C++原始碼
- Java集合 - 集合知識點總結概述Java
- 爬蟲必學知識之正規表示式上篇爬蟲
- C# 常用正規表示式C#
- c# 正規表示式(轉)C#
- C#中的Lambda表示式和表示式樹C#
- 就因為這三個知識點,我徹底學廢了”正規表示式“
- asp.net中RegularExpressionValidator控制元件中正規表示式用法ASP.NETExpress控制元件
- js匹配網址url的正規表示式集合JS
- 瞭解下C# 正規表示式C#
- corejava基礎知識(2)-介面和lambda表示式Java
- lamda表示式相關知識
- 人工智慧(二、知識表示)——1.知識表示與知識表示的概念人工智慧
- Js基礎知識3-字串、正規表示式全解JS字串
- ABAP中正規表示式的簡單使用 --- 轉自老白的部落格 Barry.baiAI