#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, поэтому вы можете сериализовать их.