Недавно я спросил о фрагменте кода для хранения данных для моих торговых карт. У меня есть файл, который содержит общий список карт в CSV-файле. Мне было интересно, есть ли способ удалить строку из файла CSV, когда выбран номер карты и нажата кнопка отправки. Код, который я в настоящее время является:Удаление строки из файла csv, когда оно выбрано из comboBox, и нажатой кнопки
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace YuGiOh_Card_List
{
public partial class frmAddLOB : Form
{
List<string> cardNo = new List<string>();
List<string> cardName = new List<string>();
List<string> cardRarity = new List<string>();
List<string> cardType = new List<string>();
public frmAddLOB()
{
InitializeComponent();
StreamReader reader = File.OpenText("..\\Debug\\lobList.csv");
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
cardNo.Add(values[0]);
cardName.Add(values[1]);
cardRarity.Add(values[2]);
cardType.Add(values[3]);
cboCardNo.Items.Add(values[0]);
}
reader.Close();
}
private void cboCardNo_SelectedIndexChanged(object sender, EventArgs e)
{
lblCardNoFinal.Text = cardNo[cboCardNo.SelectedIndex];
lblCardNameFinal.Text = cardName[cboCardNo.SelectedIndex];
lblCardRarityFinal.Text = cardRarity[cboCardNo.SelectedIndex];
lblCardTypeFinal.Text = cardType[cboCardNo.SelectedIndex];
}
private void btnAdd_Click(object sender, EventArgs e)
{
string file = ("..\\Debug\\LOB.csv");
string delimiter = ",";
var card = new Card(lblCardNoFinal.Text, lblCardNameFinal.Text, lblCardRarityFinal.Text, lblCardTypeFinal.Text);
Global.card.Add(card);
File.AppendAllLines(file, new[] { card.CardNo + delimiter + card.CardName + delimiter + card.CardRarity + delimiter + card.CardType });
MessageBox.Show("Card Added");
}
}
}
Так что я хочу, чтобы строка будет удалена из «loblist.csv» и добавить в файл LOB (который в настоящее время она делает). Спасибо
, а не параллельно коллекция, представляющая определенные стороны каждой карты, было бы проще (и меньше ошибок), чтобы создать класс карты, а затем одну коллекцию. Сохранение может составлять 2-3 строки сериализации или цикла для записи того, что находится в коллекции – Plutonix
Все ли строки в исходном файле уникальны? –
Да все линии уникальны – fg2210