【发布时间】:2013-06-12 00:03:36
【问题描述】:
在学习 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;
}
【问题讨论】:
-
这很容易成为一个结构,因为我没有看到任何改变成员状态的方法。如果它这么简单,你就不需要引用类型的开销。
-
感谢您的回复,我已经添加了一些额外的代码来帮助我理解
-
@JMK 这对我来说根本不是同一个问题。
标签: c#