なぜこの質問が投票されたのか分かりませんが、おそらく理由は非常に明確なアルゴリズムがあるため、C#コードを取得するのは簡単なことです。それが立てば、あなたは本当に経験の浅い人か、本当に怠け者かです。私は前者を仮定します。
とにかく、要件を順守しましょう。
1)「私は単語リストのリストを持っています。あなたはすでに何らかの形でこの行を持っています。
List<string> words = GetListOfWords();
2)「という言葉を通過し、アイテム1から始まる辞書に追加」 - あなたは文字列のシーケンスのためのつもりなら、私は、代わりに、辞書のリストをお勧めします。また、一度にフルラインを追加した後には、現在の行の内容を格納するために一時変数が必要になります。
var lines = new List<string>();
string currentLine = "";
3「一緒に追加された新しいアイテムと現在の項目の長さが50文字よりも大きい場合」))
foreach(var word in words) {
4「私は言葉を通過しますループを必要とします」 - スペースの+1。
if (currentLine.Length + word.Length + 1 > 50) {
5)
lines.Add(currentLine);
currentLine = word;
}
6)「という言葉を通過し、アイテム1から始まる辞書に追加」「その単語が次の行まで移動する必要がある」 - あなたはdidnのこれは非常にはっきりしています。あなたが意味したのは、行が50文字を超えない限り、各単語を最後の行に結合したいということでした。
else {
currentLine += " " + word;
}
}
lines.Add(currentLine); // the last unfinished line
などがあります。あなたは絶対にばかり
var dict = new Dictionary<string,string>();
for(int lineNum = 0; lineNum < 3; lineNum ++)
dict["Address"+lineNum] = lineNume < lines.Length ? lines[lineNum] : "";
あなたはアルゴリズムとコードを記述しますか? –
はタグを追加しましたが、ハード・ワード・ラップを挿入するアルゴリズムを求めています。 – Jimmy
サンプルコードが必要です。 – dnoxs