IEnumerable
- это просто какой-то абстрактный список, через который вы можете перебирать - есть много способов вернуть экземпляр IEnumerable
, например:
- Использование конструкции
yield return
(только .Net 4.0)
- Возвращая
List<T>
, или массив, или любой другой класс, который уже реализует IEnumerable
,
Например:
public IEnumerable GetAddress()
{
DataSet ds = DataOps.GetDataSet(string.Format(" select * from Students"));
DataTable dt = ds.Tables[0];
// The chances are that instead of string you will need a struct or a class
List<string> retVal = new List<string>();
foreach (DataRow row in dt)
{
// This will obviously depend on the table and return type
retVal.Add((string)row["mycol"]);
}
}
Кроме того, в зависимости от возвращаемого типа вы, вероятно, захотите вместо него вернуть IEnumerable<T>
, так как он безопасен для потоков.