C # идеальная структура данных для хранения 1 плавающего и 3 строковых полей

#c# #data-structures

#c# #структуры данных

Вопрос:

Какую идеальную структуру данных я могу использовать в C # для хранения данных, состоящих из 1 плавающего и 3 строковых полей (более 1000 строк)? Я хочу, чтобы структура была легко сериализуема в файл и к ней можно было легко получить доступ для обновления.

Комментарии:

1. Вы имеете в виду «должен ли я использовать класс или структуру» или что-то более тонкое?

2. Являются ли значения фиксированными при построении?

3. Структура или класс … msdn.microsoft.com/en-us/library/ms173109.aspx

Ответ №1:

Класс ?!

 public class SomeClass
{
   public float MyFloat{ get; set; }
   public String StringOne{ get; set; }
   public String StringTwo{ get; set; }
   public String StringThree{ get; set; }
}
  

или, возможно, структура!

 public struct SomeStruct
{
   public float MyFloat{ get; set; }
   public String StringOne{ get; set; }
   public String StringTwo{ get; set; }
   public String StringThree{ get; set; }
}
  

Убедитесь, что вы понимаете разницу, прежде чем выбирать одно или другое.

Ответ №2:

Я опубликую ответ, в котором предполагается, что вы по какой-то причине уже рассмотрели и отклонили использование класса или структуры.

Возвращаясь к моим курсам по базам данных в аспирантуре, мне нравится введение класса Tuple в .NET 4.0. Если бы вы были так склонны, вы могли бы использовать

 var myEntry = Tuple<float, string, string, string>(floatVal, string1Val, string2Val, string3Val);
  

и ссылайтесь на элементы с помощью

 float myFloat = myEntry.Item1;
string myString = myEntry.Item2;
  

Кортеж также украшен атрибутом Serializable, поэтому вы можете сериализовать их.