2010-06-27 31 views
5

trong ứng dụng C# của tôi, tôi cần phải lưu trữ một lượng lớn các chuỗi không đổi trong mảng, như một mảng cho tên đầu tiên và một ... Tên:Cách thực hiện nhất để lưu trữ số lượng lớn các chuỗi tĩnh

Những chuỗi này không bao giờ thay đổi nên câu hỏi của tôi là cách lưu trữ chúng?

Tạo một lớp liên tục tĩnh với các mảng này?

Tải chúng khi chạy từ đâu đó?

Hoặc bất kỳ giải pháp khác ...

PS: Tôi không thực sự muốn tập tin bên ngoài vì vậy nếu tôi tải chúng từ một nơi nào họ phải được bao gồm trong .exe

EDIT: // Vì vậy, tôi chỉ tạo các tệp tài nguyên với chuỗi [] mảng, alrigt :)

+0

Tệp tài nguyên không thể giữ một mảng chỉ trong bản ghi, bạn có thể lưu trữ phần tử trên mỗi bản ghi. và sau đó tải từ tệp tài nguyên này và tạo mảng của bạn khi đang di chuyển. –

+0

nhưng điều đó sẽ không hiệu quả? – Chilln

+0

nó sẽ có hiệu suất ít hơn nhưng một cái gì đó rất nhỏ, nhưng sẽ làm cho mã của bạn trông tốt hơn và dễ dàng để chỉnh sửa sau này. –

Trả lời

5

Trong trường hợp như thế này, tôi sử dụng tệp tài nguyên.
Tôi tạo một tệp tài nguyên có tên là Constants chẳng hạn, và sau đó tôi có thể gọi nó từ bất kỳ đâu trong ứng dụng của tôi.

http://www.sliver.com/dotnet/articles/resinweb.aspx

Ngoài ra trong quá khứ tôi đã làm nó hai lần để tạo ra một lớp, trong đó có tất cả các biến như 'const'.

public const string myVariable = "some static text"; 

nhưng tôi cảm thấy không đúng nơi để làm điều đó và bắt đầu sử dụng tệp tài nguyên.

Cập nhật: Câu hỏi cho biết rằng các chuỗi cố định nằm trong mảng string [], đây là trường hợp tôi không nhớ tôi gặp, vì vậy, không biết cách nào sẽ tốt hơn cho bạn trong trường hợp này về hiệu suất và khả năng bảo trì mã.

+4

+1. Ngoài ra, với VS2003 +, bạn có thể thêm các tệp văn bản vào dự án của mình và kéo chúng vào một tài nguyên trong dự án. Lớp tài nguyên sau đó sẽ chứa một hằng số 'String' với nội dung của tệp văn bản, nhưng tệp văn bản sẽ dễ quản lý và cập nhật hơn là cố gắng duy trì ô lưới trong trình chỉnh sửa tài nguyên. Với phương pháp này, bạn có thể dễ dàng tạo tệp nội dung của mình dưới dạng CSV, sau đó khởi động ứng dụng, có một quá trình tải nội dung và phân tích nó thành một mảng tĩnh được sử dụng trong mã. – Toby

1

Tạo một lớp chuyên dụng mà bạn đặt các chuỗi dưới dạng các trường chỉ đọc. Khi lần đầu tiên được yêu cầu, bạn có thể đặt nó vào đối tượng Cache để sau đó bạn có thể lấy chúng từ đó để truy xuất nhanh.

Grz, Kris.

+1

Nói chung không phải là ý tưởng tồi. Tuy nhiên, cách tốt hơn là sử dụng các nguồn tài nguyên, nếu bạn có thể. – TcKs

Các vấn đề liên quan