2013-01-07 197 views
-1

作爲我的大學課程的一部分,我們必須使用ArrayLists創建記錄預訂系統,並且我想包括搜索預訂姓氏的方法,是否有辦法執行此操作在C#中? ArrayList中包含變量「姓」,並在那一刻我有這個ArrayList字符串搜索

private void search() 
{ 
    string term; 
    term = searchBox.Text; 
    foreach (string surname in dataList) 
     if (surname == term){ 

而這也正是我堅持。任何幫助,將不勝感激!

+2

你在哪裏卡住了,我的意思是,什麼是不工作?你有錯誤嗎? –

+1

請考慮至少提供在聲明結束時結束的函數,而不是通過它的一半......並且看看在大多數其他C#指南中推薦的'foreach'之後,如果使用{},編碼指南可以使用{} ... –

+0

我建議你考慮一下Search()方法需要返回的內容 - 它是另一個集合還是一個列表項?在你的代碼片段中,你沒有返回任何東西 - 方法的返回類型是'void'。這會讓你更進一步嗎? –

回答

1

它更容易使用IndexOf和檢查,如果指數不爲負:

int pos = dataList.IndexOf(surname); 
if (pos >= 0) { 
    // It's there - do whatever you need to do... 
    ... 
} 
+0

+1 ...但我認爲使用'Any'會更合適,因爲OP似乎不喜歡大括號:)。 –

+0

如何區分大小寫?不是OP明確表示的,但可能是一個問題。 –

1
using System; 
using System.Collections; 


class Program 
{ 
    static void Main(string[] args) 
    { 
     ArrayList datalist = new ArrayList 
      { 
       "asd", 
       "surname", 
       "dfg" 
      }; 
     Console.WriteLine(datalist.IndexOf("surname") != -1 ? "Found" : "Not found"); 
     Console.ReadKey(true); 
    } 
}