foreachを拡張する拡張メソッドを作成できますか?
このような何か:
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(", ")
は編集:
あなたはさらにカスタマイズすることができますので、ここで変換パラメータを持つ拡張です。
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()));
}
なぜ適用できないのですか?あなたができないなら、あなたはかなり限られています。 'while'や' for''を使えますか? – Buildstarted