-1

私は Web アプリケーション用の c# のコーディングには比較的慣れていませんが、c# についてある程度の知識は持っています。

テキスト ファイル (以下の例) を読み込んで、各行を区切るために使用される文字に基づいた形式の Web ページを生成しようとしています。

これを行うための非常に簡単な方法があると確信していますが、これが私が思いついたものです。それは私の現在の意図された目的のために機能しますが、恐ろしく複雑に見えます.

私が読んでいるファイルは次のようになります。

^This ^is ^the ^home ^file.|*This is a ^bullet point.|*^This is another one.|This isn't a bullet point.

これを読んで表示するコードは次のようになります。

@{int bulletNum = 0;}
@foreach (string homeLine in homeData)
{
    foreach (string homeItem in homeLine.Split('|'))
    {
        if (homeItem.First()=='*')
        {
            bulletNum++;
            <ol class="round">
                <li class="num@(bulletNum)">
                    @foreach (string homeElementFirst in homeItem.Split(' '))
                    {
                        string homeElementSecond = homeElementFirst.TrimStart('*');
                        if (homeElementSecond.First() == '^')
                        {
                            <b>@homeElementSecond.TrimStart('^')</b>
                        }
                        else
                        {
                            @homeElementSecond <text> </text>
                        }
                    }
                </li>
            </ol>
        }
        else
        {
            foreach (string homeElement in homeItem.Split(' '))
            {
                if (homeElement.First() == '^')
                {
                    <b>@homeElement.TrimStart('^')</b>
                }
                else
                {
                    @homeElement <text> </text>
                }
            }
        }
        <br />
    }
}

私のひどい変数名を許してください。

誰かが私のためにこれを片付けるのを手伝ってくれますか? ありがとう。

4

1 に答える 1

1

単純なものではありますが、カスタム マークアップ言語を実装しようとしているようです。このような場合は、既存のライブラリを使用することをお勧めします。同様のことを行うTextileを確認してください。TextileのC# ポートが利用可能です。

于 2013-01-29T18:22:44.887 に答える