4

次のような文字列に C# コードがあります。

content = 'var expData = 
                        details.Select(x => x.Explanation.TextWithHtml).ToList();
var score = resData.SequenceEqual(ansData);
var explanation = "";';

コードがLINQを使用して次のように変換されるようにするにはどうすればよいですか?

<td>01</td><td>var expData = 
                  details.Select(x => x.Explanation.TextWithHtml ).ToList();</td>
<td>02</td><td>var score = resData.SequenceEqual(ansData);</td>
<td>03</td><td>var explanation = "";</td>
4

2 に答える 2

8

次のようなものが必要なようです。

var lines = text.Split(new[] { "\r\n" }, StringSplitOptions.None)
                .Select((line, index) => 
                    string.Format("<td>{0:00}</td><td>{1}</td>",
                       index + 1, EscapeHtml(line)));

ただし、記述する必要がありEscapeHtmlます。C# コード内のタグが HTML 内のタグになってしまうのは望ましくありません。

于 2012-10-05T11:12:31.767 に答える
4

これは機能するはずです。インデックスは次の場所から取得できますEnumerable.Select

IEnumerable<String> code =
    content.Split(new[] { Environment.NewLine }, StringSplitOptions.None)
           .Select((line, index) => 
                string.Format("<td>{0}</td><td>{1}</td>", 
                    (index + 1).ToString("D2"), line));

方法:先行ゼロで数値を埋める

于 2012-10-05T11:15:56.570 に答える