我想从XML文件中检索数组列表。我使用集成工具进行查询。但是,如果我想要创建一个数组列表而没有任何foreach循环,我应该做什么。(理由是,在这种情况下,不能应用预测。
XML文件格式:
<arr name="ArrayinXML"><str>dsfadasfsdasda</str><str>gdhsdhshhfb</str>在Index.cshtml中:
@p.ArrayinXML.FirstOrDefault()
在上述情况下,它只返回第一个字符串值,而不返回第二个字符串值。
发布于 2011-10-18 15:18:39
你能为你做一个扩展方法吗?
就像这样:
public static class IEnumerableExtensions
{
public static string ToString<T>(this IEnumerable<T> collection, string separater)
{
if (collection == null)
return String.Empty;
return String.Join(separater, collection);
}
}当然,您可以在代码中调用@String.Join(p.ArrayinXML, ", "),但我认为扩展方法使其更加优雅。
然后将扩展命名空间添加到您的web.config中,您可以在视图中这样做:
@p.ArrayinXML.ToString(", ")编辑:
下面是带有transform参数的扩展,因此您可以进一步定制:
public static string ToString<T>(this IEnumerable<T> collection, string separater, Func<T, object> transform) where T : class
{
if (collection == null)
return String.Empty;
return String.Join(separater, collection.Select(s => transform(s).ToString()));
}https://stackoverflow.com/questions/7809138
复制相似问题