привет, ребята, это мой код на С# .netcore 6
using (var reader = new StreamReader(@"C:\Users\ho3in\source\repos\dataset\data\orders.csv"))
{
using (var Csvreader = new CsvReader(reader, CultureInfo.InvariantCulture))
{
var records = Csvreader.GetRecords<datamodel>().ToList();
}
}
public class datamodel
{
public int ID_Order { get; set; }
public int ID_Customer { get; set; }
public int ID_Item { get; set; }
public DateTime DateTime_CartFinalize { get; set; }
public float Amount_Gross_Order { get; set; }
public string city_name_fa { get; set; }
public float Quantity_item { get; set; }
}
я хочу распечатать свои данные, но я просто получаю `dataset.datamodel', распечатанный, как я могу получить доступ к данным и работать с ними, кстати, я использую csvhelper lib
я хочу получить доступ к своим данным и работать с ними, например, распечатать поиск данных по пользователю и т. д.
Ваша проблема не имеет ничего общего с csv или csvhelper. Это не изменится, если вы жестко закодируете элементы или получите их через веб-запрос.
Используйте record
вместо class
вместо datamodel
, тогда у вас будут читаемые данные в любом месте. ... var records = Csvreader.GetRecords<datamodel>().ToList(); Records.Foreach(r => Console.WriteLine(r)); ...
Здесь у вас есть список объектов вашего типа.
var records = Csvreader.GetRecords<datamodel>().ToList();
Если вы хотите распечатать его, используйте свойства вашего класса:
foreach(var record in records)
{
Console.WriteLine($"{record.ID_Customer}, {record.ID_Item}, {record.DateTime_CartFinalize}");
}
Вы также можете переопределить метод ToString, как упоминал stuartd:
public class datamodel
{
// properties and others
public override string ToString()
{
return $"{ID_Customer}, {ID_Item}, {DateTime_CartFinalize}";
}
}
Или переопределить ToString()
Или просто сериализуйте его, используя JsonConvert.SerializeObject()
gettin `dataset.datamodel' print Здесь нет никакого кода, который печатает что-либо. Пожалуйста, добавьте код, который выполняет печать.