iT邦幫忙

0

C# 斷句註解

c#
匿名 2012-08-27 15:24:214587 瀏覽
  • 分享至 

  • xImage

可以麻煩幫我加註解嗎?謝謝!
另外,如果我想要把輸出結果顯示在textbox裡面 那該怎麼寫呢?

 const string sourceText = "你好嗎!我很好。今天天氣很晴朗唷,祝你一切順心!";
            char[] delimiters = new Char[] { '!', ',', '。', '?' };
            string[] split1 = sourceText.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
            int pos = -1;
            for (int index = 0; index < split1.Length; index++)
            {
                string text = split1[index];
                pos += (text.Length + 1);    // 定義文字結尾下一個索引值
                if (pos >= sourceText.Length)
                    Console.WriteLine(text);
                else
                    Console.WriteLine(text + sourceText[pos]);
            }
            Console.ReadKey();

這題怎麼寫這麼久還沒寫完
颱風都來了好幾個了
冷
wiseguy iT邦超人 1 級 ‧ 2012-08-28 00:23:14 檢舉
antijava大大得體諒同學要找到完全符合老師作業的 code 不容易。
這位同學算有心了。
這就是所謂的
天下無難式,只怕有心人
下雨
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
4
外獅佬
iT邦大師 1 級 ‧ 2012-08-27 17:09:23

很抱歉...Console Application似乎沒有TextBox這種東西....

匿名 檢舉

我是想要將他寫在WindowsForm裡面

6
louis1w
iT邦新手 3 級 ‧ 2012-08-28 09:03:20

//基本上 問學校功課的 希望版主把他踢掉 其他的很樂意幫忙
private void button1_Click(object sender, EventArgs e)
{
string sourcel = textBox2.Text; //宣告字串來源
char[] ch1 = new Char[] { '!',',', '。', '?' }; // 遇到ch1 的字元就會切割成子字串
string[] split1 = sourcel.Split(ch1); //子字串們放在 split1的陣列裡
int index = 0;
for (int i = 0; i < split1.Length; i++)
{
if (split1[i] == "") break;
index += split1[i].Length;
textBox3.Text += " " + split1[i] + textBox2.Text.Substring(index, 1)+"\n";
if (index < sourcel.Length - 1) index += 1;

}
}

0
JamesDoge
iT邦高手 1 級 ‧ 2022-12-25 00:52:58

要把輸出結果顯示在textbox裡面
您可以在迴圈內將輸出結果的每個字串加入到 TextBox 中

TextBox1.Text += text + Environment.NewLine;

最後,幫你程式碼加註解:

// 定義要分割的字串
const string sourceText = "你好嗎!我很好。今天天氣很晴朗唷,祝你一切順心!";

// 定義要用來分割字串的分隔符號
char[] delimiters = new Char[] { '! ', ',', '。 ', '? ' };

// 使用 Split 方法將字串按照分隔符號分割成多個字串,並將結果儲存在字串陣列中
string[] split1 = sourceText.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);

// 定義變數 pos 用來記錄字串的結尾索引值
int pos = -1;

// 使用迴圈遍歷字串陣列中的每個字串
for (int index = 0; index < split1.Length; index++)
{
    // 取得當前字串
    string text = split1[index];

    // 將 pos 設定為當前字串的結尾索引值,即加上當前字串的長度加 1
    pos += (text.Length + 1);

    // 判斷 pos 是否大於等於字串的長度
    if (pos >= sourceText.Length)
    {
        // 如果是,則表示當前字串已經是最後一個字串,因此直接將字串加入到 TextBox 中
        TextBox1.Text += text + Environment.NewLine;
    }
    else
    {
        // 否則,表示當前字串的後面還有其他字符,因此需要加上其他字符再加入到 TextBox 中
        TextBox1.Text += text + sourceText[pos] + Environment.NewLine;
    }
}

我要發表回答

立即登入回答