У меня есть текстовый файл, подобный этому. Я хотел бы читать строки за строкой и хранить эту информацию в List<Store>
, с Store
- это нестандартные типы.Прочтите текстовый файл и добавьте в список
Store ID: 01
Name: Kingfisher
Branch Number: 1
Address: 23 Emerson St
Phone: 422361609
-----END OF RECORD-----
Store ID: 02
Name: Harvey
Branch Number: 2
Address: 23 Korby St
Phone: 422361609
-----END OF RECORD-----
Store ID: 175
Name: Roger
Branch Number: 4
Address: 275 Carmody Rd
Phone: 428395719
-----END OF RECORD-----
Вот что я использую. Поскольку запись всегда выполняется в порядке, указанном в списке, поэтому я читаю строки за строкой и назначаю store.ID
, store.name
, ... пока не достигнет конечного атрибута записи store.phoneNumber
, он затем добавит его в список и продолжайте движение в цикле foreach
, когда дело доходит до следующего Store ID
.
Но проблема в том, что когда я выполняю поиск в списке, он может вернуть только окончательную запись. Кажется, что в списке только один элемент, который является окончательной записью. Кто-нибудь может указать, где я ошибаюсь?
var storeTemp = new Store();
List<Store> stores = new List<Store>();
foreach (string line in File.ReadAllLines(@"C:\Store.txt"))
{
if (line.Contains("Store ID: "))
storeTemp.ID = line.Substring(10);
if (line.Contains("Name: "))
storeTemp.name = line.Substring(6);
if (line.Contains("Branch Number: "))
storeTemp.branchNO = Convert.ToInt32(line.Substring(15));
if (line.Contains("Address: "))
storeTemp.address = line.Substring(9);
if (line.Contains("Phone: "))
{
storeTemp.phoneNumber = Convert.ToInt32(line.Substring(7));
stores.Add(storeTemp);
}
}
удивительным! Большое спасибо. Я подумал, как только мы добавим 'storeTemp' в' List', мы можем перезаписать его –