在C#中,可以通过使用私有字段和属性的方式来实现延迟加载。以下是一个示例代码:
public class LazyLoadingExample
{
private string _data;
private bool _isLoaded;
public string Data
{
get
{
if (!_isLoaded)
{
// 模拟数据加载操作
_data = LoadData();
_isLoaded = true;
}
return _data;
}
}
private string LoadData()
{
// 实际数据加载操作
return "Loaded data";
}
}
在上面的代码中,Data
属性在第一次访问时会调用LoadData
方法加载数据,并将_isLoaded
标记为true
。之后再访问Data
属性时,直接返回之前加载的数据,避免重复加载数据。这样就实现了延迟加载的效果。