私が調査していた単なる好奇心。
問題:文字列/文字をn回繰り返すだけです(掛け算、誰かが言うでしょう) 。この目的のためにEnumerable.Repeat
があることは知っていますが、それなしでこれをやろうとしていました。
この場合のLINQはかなり役に立たないようです 。
from X in "s" select X
文字列「s」が調査されているため、 X はcharです。同じことが拡張メソッドにも当てはまります。たとえば、「s」です。集計(blablabla) は、文字列自体ではなく、文字 's' だけで再び機能します。文字列を繰り返すには「外部」が必要になるため、ラムダとデリゲートを考えましたが、デリゲート/ラムダ式を割り当てる変数を宣言しないと実行できません。
関数を定義してインラインで呼び出すようなものです。
( (a)=>{return " "+a;} )("a");
また
delegate(string a){return " "+a}(" ");
「名前なし」エラーが発生し(したがって、パラメーターとして可能なラムダ/デリゲートを渡しても再帰、AFAIKはありません)、最終的には制限のためにC#で作成することさえできませんでした。
私はこのことを間違った視点から見ているのかもしれません。何か案は?
これは単なる実験です。パフォーマンスやメモリの使用については気にしません...ただ、それが1行であり、一種の自律的であるということだけです。たぶん、Copy/CopyTo を使って何かをしたり、他のコレクションにキャストしたりすることができるかもしれませんが、わかりません。反省も受け付けます。