Vì vậy, tôi có một danh sách với các đối tượng Materiel. Trong Materiel tôi có 15 phương thức get và set. Tôi muốn xây dựng một phương thức tìm kiếm lặp lại tất cả các đối tượng trong danh sách và tất cả các biến trong mỗi đối tượng Materiel. Phần lặp là đủ dễ dàng, nhưng tôi đang đấu tranh với chuỗi chứa-một phần. Cụm từ tìm kiếm có thể là "acto", và tôi sẽ nhận được một hit cho "Tractor". Tôi đã thử sử dụng chuỗi-Chứa lớp học, nhưng theo như tôi có thể tìm ra, nó chỉ kiểm tra chuỗi bắt đầu ở vị trí 0. Vì vậy, "Tra" được một hit, nhưng không phải "acto".C# chứa một phần của chuỗi
Có bản dựng nào trong lớp học hay tôi nên tự mình lập trình?
Xin lỗi vì lời giải thích tồi.
Mã của tôi. Tôi thấy bây giờ mà tôi nhận được số truy cập cho các chuỗi con, mà còn kết quả khác :)
protected void Button_search_Click(object sender, EventArgs e)
{
string searchTerm = TextBox1.Text.ToString().ToLower();
TableRow row;
TableCell cell;
int rowNumber = 1;
foreach (Materiell mat in allItems)
{
if (searchTerm.Contains(mat.itemID.ToString().ToLower()) ||
searchTerm.Contains(mat.manufacturer.ToLower()) ||
searchTerm.Contains(mat.model.ToLower()) ||
searchTerm.Contains(mat.serialNo.ToLower()) ||
searchTerm.Contains(mat.dateProd.ToString().ToLower()) ||
searchTerm.Contains(mat.location.ToLower()) ||
searchTerm.Contains(mat.mainCategory.ToLower()) ||
searchTerm.Contains(mat.subCategory.ToLower()) ||
searchTerm.Contains(mat.dateAcquired.ToString().ToLower()) ||
searchTerm.Contains(mat.price.ToString().ToLower()) ||
searchTerm.Contains(mat.ownerID.ToString().ToLower()) ||
searchTerm.Contains(mat.extra.ToString().ToLower()) ||
searchTerm.Contains(mat.textComment.ToLower()) ||
searchTerm.Contains(mat.active.ToString().ToLower()))
{
row = new TableRow();
row.ID = "row" + rowNumber.ToString();
rowNumber++;
cell = new TableCell();
cell.Text = "<a href=\"#\" class=\"opendiv\">" + mat.itemID.ToString() + "</a>";
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.manufacturer.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.model.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.serialNo.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.dateProd.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.location.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.mainCategory.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.subCategory.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.dateAcquired.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.price.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.ownerID.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.extra.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.ownDefData.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.textComment.ToString();
row.Cells.Add(cell);
cell = new TableCell();
cell.Text = mat.active.ToString();
row.Cells.Add(cell);
Table1.Rows.Add(row);
}
}
}
Bạn có thể đăng một đoạn mã vì theo các tài liệu "Acto" nên đánh vào "Tractor": http://msdn.microsoft.com/en-us/library/dy85x1sa(v=vs.100).aspx – LexyStardust
'" Tractor ".Contains (" acto ")' phải trả về 'true'. Bạn có thể muốn đăng một số mã của mình để chúng tôi có thể xem những gì bạn đã thử cho đến thời điểm này và nơi bạn có thể gặp sự cố. – Rawling
Gah. Không có câu trả lời nào giải quyết vấn đề. Nhìn vào Lucene.NET, có thể (bạn dường như đang tìm kiếm toàn bộ tìm kiếm/lập chỉ mục; đây có phải là ứng dụng kiểu thư viện không?) – sehe