相談フォーム信頼の「飲んだくれマーク」をご確認下さい。簡単なまとめネットで検索したがどのコードも、バグがある、もしくはダサい。Linqで書けば美しい。size).ToArray());以下余談プログラムの世界でも言語の壁というのは大きくて、最近だとUnicodeおよびUTF-8なんて文字セット、エンコーディングがだいぶ浸透してきたので、便利になってきているんだけど、やっぱまだ大きい。私はお客さんに「OracleデータベースのエンコーディングはShift-JISとすること」と言われ、「なんで?Unicodeでキャラクタセマンティクスでいいじゃん。「我々のシステムが出力するデータは最終的に官公庁に出る。官公庁では丸囲み数字を利用することが多い。従って本システムでも丸囲み数字などが使えるということが重要なのだ(キリッ)」ということを言われた。うるせーバカ、いわゆる「機種依存文字」のほとんど全てはUnicodeで定義されてんだよ。Unicode表をおでこに貼り付けてやりたがったが、じゃあShift-JISが扱う文字セットがUnicodeのサブセットかと言われると自信が無く、結論として、Shift-JISでバイトセマンティクスとなった。従って、文字列をあるエンコーディングによるバイト単位で切り取るという処理が必要になった。考えたが、これ、結構面倒くさい処理で、ネットに何か転がってないかな。すると、文字をまずバイト列にして、目的のバイト数だけ取り出すということをやっているコードがあった。切り出した箇所が、マルチバイト文字の途中だったら文字化けする。文字を一文字ずつ増やして都度バイト数を計算し、バイト数が目的のサイズよりオーバーしたら、一つ前の状態の文字列を出力すればいいねっ!って考えた。事実、そうやってるコードも検索すると結構ヒットしたが、forループがいっぱいあってダサい。forループがいっぱいあるとC#なのに昭和の薫り(C言語の薫り)がする。size).ToArray());やってることはforループと変わらないけど、すっきりでしょう?Fluentなinterfaceが素敵でしょう?たった2,3行書くのが面倒でネットで検索しまくった後、時間だけ浪費して結局考えて書いたほうが早かったという典型例でした。投稿ナビゲーション一条工務店で家を建てるにあたって(1)不思議体験まとめ(2)anopara作者:withpop昼はサラリーマン。頑張れば何でも出来る。