Поскольку я изучаю C#, я был бы признателен за некоторые профессиональные советы о структурах и классах. Поскольку классы являются ссылочными типами и хранятся в куче, тогда как структуры являются типами значений и хранятся в стеке.Рекомендации по структурам и классам
Я понимаю, что структуры, как правило, используются для небольших типов данных по соображениям производительности.
Учитывая, что я прочитал, будет ли следующий код быть структурой или классом.
public struct DisplayWeatherAstronomy
{
public string SunRise { get; internal set; }
public string SunSet { get; internal set; }
public string MoonRise { get; internal set; }
public string MoonSet { get; internal set; }
}
/* **Дополнительный код* **/
Уходя два ответа, я добавил немного кода.
public IEnumerable<DisplayWeatherAstronomy> WeatherAstronomy(string id)
{
var doc = WeatherXml.XmlData(id);
var displayAstronomy = (from wd in doc.Descendants("astronomy")
select new DisplayWeatherAstronomy
{
SunRise = (string)wd.Element("sunrise") ?? string.Empty,
SunSet = (string)wd.Element("sunset") ?? string.Empty
});
return displayAstronomy;
}
Релевантно: http://blogs.msdn.com/b/ericlippert/archive/2009/04/27/the-stack-is-an-implementation-detail.aspx и http://blogs.msdn.com /b/ericlippert/archive/2009/05/04/the-stack-is-an-implementation-detail-part-two.aspx –
Это может быть легко структура просто потому, что я не вижу каких-либо методов для изменения состояния members.you не нужны накладные расходы ссылочного типа, если это так просто. –
Спасибо за ответ, я добавил дополнительный код, чтобы попытаться помочь мне понять –