有什麼方法可以搜索一個存儲行作爲字符串arraylist?我想通過存儲在數組列表中的每一行中的第一個單詞進行搜索。我試着做Arraylist.Contains()和Arraylist.IndexOf,但這些似乎沒有工作?任何人有任何建議?關鍵字搜索arraylist
感謝
有什麼方法可以搜索一個存儲行作爲字符串arraylist?我想通過存儲在數組列表中的每一行中的第一個單詞進行搜索。我試着做Arraylist.Contains()和Arraylist.IndexOf,但這些似乎沒有工作?任何人有任何建議?關鍵字搜索arraylist
感謝
string[] matches = arrayList.Cast<string>()
.Where(i => i.StartsWith(searchTerm)).ToArray();
那麼,你就需要看每個項目列表中,並決定是否行的條件相匹配。
所以,在僞代碼:的
for each line in listOfLines
if line StartsWith "some string"
// It's a match!
end if
end loop
C#String
類有很大StartsWith
方法,你可以使用。如何循環訪問列表當然取決於您擁有的列表類型,但由於ArrayList
似乎實現了IList
,它實現IEnumerable
,因此使用foreach(var item in list)
類型構造來構建循環時應該沒有問題。
首先,你要使用List<string>
(System.Collections.Generic),而不是ArrayList
這樣你就可以有一個字符串的一個強類型的列表,而不是對象的弱類型列表。
其次,不,ArrayList.Contains
和ArrayList.IndexOf
將執行完全對象匹配,它們不執行部分。
第三,該方法與your question here的回答相同。如在循環所包含的值,並檢查每個單獨的字符串。你可以寫這個來使用Linq,但這個想法是一樣的。
強類型和弱類型之間的區別是什麼? Im新的c#soive從未聽說過List <> – hWorld 2011-06-14 20:45:39
'ArrayList'將所有東西都存儲爲'object'。沒有保護措施,您可以添加任何內容。一個字符串,一個整數,一個'Foo'類型的對象,任何東西。一個普通的'List
@Dominique,更多關於ArrayList vs'List
爲什麼不只是這個
var results = from string x in arrayList where x.StartsWith(query);
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
ArrayList arraylist =new ArrayList();
private void Form1_Load(object sender, EventArgs e)
{
arraylist.Add("This is line1");
arraylist.Add("Jack is good boy");
arraylist.Add("Azak is a child");
arraylist.Add("Mary has a chocolate");
MessageBox.Show(GetSentenceFromFirstChar('J'));
}
public string GetSentenceFromFirstChar(char firstcharacter)
{
bool find=false;
int index=-1;
for (int i = 0; i < arraylist.Count; i++)
{
if ((char)arraylist[i].ToString()[0] == firstcharacter)
{
index = i;
find = true;
break;
}
}
if (find)
{
return arraylist[index].ToString();
}
else
{
return "not found";
}
}
}
}
也許有助於..
您是否使用了'ArrayList'或'array'或'列表'? –
2011-06-14 20:42:00
使用arraylist的我使用 – hWorld 2011-06-14 20:42:22
如果可能請切換到列表。它會減少鑄造。 –
2011-06-14 20:45:11