0

foreachループのコンマにスペースを挿入するのに問題があります。これを行うためのより良い方法はありますか?わざわざ

@{ var multipleSpeakerSeparator = " "; }
@foreach (var speaker in session.SpeakersList)
{
     @multipleSpeakerSeparator <a href="@(speaker.SpeakerLocalUrl)"> 
     @speaker.UserFirstName @speaker.UserLastName </a>multipleSpeakerSeparator = ",";
}
4

1 に答える 1

1

String.Joinを使用してみませんか:

String.Join(",", session.SpeakersList.Select(i => "<a href=" + 
               i.SpeakerLocalUrl + ">..</a>");

String.Join内で@構文を使用できるかどうか、それがどのように機能するか、そしてそれがString.Joinでどのように機能するかはわかりません。それ以外の場合は、上記のように文字列連結を使用すると機能します。

スペースを挿入しようとしている場合は、スペースリテラルが適切にレンダリングされるはずです。私はそれがそうではないことに驚いています。とにかく、foreachアプローチを使用すると、次のことができるはずであり@<text> </text>、条件付きで行うことができます。

@for (var i = 0; i < session.SpeakersList.Count; i++)
{
     @{ 
       if (i > 0) { <text> </text> }
     }

     <a href="@(speaker.SpeakerLocalUrl)"> 
     @speaker.UserFirstName @speaker.UserLastName </a>multipleSpeakerSeparator = ",";
}
于 2013-01-25T19:36:27.023 に答える