C 中怎麼判斷乙個陣列中是否存在某個陣列值

2021-06-22 13:48:58 字數 1897 閱讀 7805

用for,foreach是可以,這些就不用說了

用正規表示式也可以,但是針對這個問題靈活性差,畢竟某個數字是變化的,必須改變正規表示式.

我採用的是把陣列放到arraylist裡,用它自帶的方法便可.

static void main(string args)

;//初始化陣列

arraylist ar = new arraylist();//例項化乙個arraylist

ar.addrange(x);//把陣列賦到arraylist物件

console.writeline(ar.contains(12));//通過contains判斷是否有12

console.read();

}記得在頭部加上using system.collections;

今天發現乙個怪問題,同樣是.net3.5環境下的兩個專案,乙個裡支援arr.contains("1"),乙個就不支援,**完全相同也不行.有時在不支援專案裡加新檔案支援,但有時又不支援,發現在支援的專案裡contains的注釋是方法,但是查不出在哪定義的.

在網上查到一段**,雖然和這不太一樣,但是可以使陣列使用contains

陣列有contains方法,在.net framework 2.0 版中,array 類實現icollection介面,但必須如下書寫**:

1.stringss =newstring;

2.boolb = (ssasicollection<string>).contains("1");

msdn中說明如下:

在.net framework 2.0 版中,array 類實現 system.collections.generic.ilist、system.collections.generic.icollection和 system.collections.generic.ienumerable泛型介面。由於實現是在執行時提供給陣列的,因而對於文件生成工具不可見。因此,泛型介面不會出現在 array 類的宣告語法中,也不會有關於只能通過將陣列強制轉換為泛型介面型別(顯式介面實現)才可訪問的介面成員的參考主題。將某一陣列強制轉換為這三種介面之一時需要注意的關鍵一點是,新增、插入或移除元素的成員會引發 notsupportedexception。

下例的第二種方法是上文裡講到的三種方法之一.

c#中怎麼判斷乙個陣列中是否存在某個陣列值

(1) 第一種方法:

int ia = ;

int id = array.indexof(ia,1); // 這裡的1就是你要查詢的值

if(id==-1)

// 不存在

else

// 存在

(2) 第二種方法:

string strarr = ;

bool exists = ((ilist)strarr).contains("a");

if(exists)

// 存在

else

// 不存在

注意: 用ilist需要using system.collections;

C 在陣列中判斷是否存在某個陣列值

第一種方法 int ia int id array.indexof ia,11 這裡的1就是你要查詢的值 if id 1 不存在 else 存在 第二種方法 string strarr bool exists ilist strarr contains a if exists 存在 else 不存在...

C 在陣列中判斷是否存在某個陣列值

1 第一種方法 1 int ia 2int id array.indexof ia,11 這裡的1就是你要查詢的值 3if id 1 4 不存在 5else6 存在 2 第二種方法 1 string strarr 2bool exists ilist strarr contains a 3if ex...

在楊氏矩陣中判斷乙個數是否存在

楊氏矩陣是乙個二位陣列,這個陣列無論橫向縱向都是遞增的。比如陣列 1 4 7 2 5 8 3 6 9 要想時間複雜度小於o n 就不能遍歷整個陣列,其實只需判斷這個i行j列的陣列的arr i 1 j 1 是否等於要找的數,如果大於要找的數,說明要找的數一定在該數的左下方。如果小於要找的數,說明要找的...