そのような機能を持っている:
private static void EncodeString(ref string str)
{
using (RLE inst_rle = new RLE())
{
string str_encoded = inst_rle.Encode(ref str);
Console.WriteLine(
"\r\nBase string ({0} chars): {1}\r\nAfter RLE-encoding ({2} chars): {3}\r\nCompression percentage: %{4}",
str.Length, str, str_encoded.Length, str_encoded,
() => { (100 * (str.Length - str.encoded.Length) / str.Length); }
);
}
}
私が覚えているように、それはC#のラムダのスタイルです:()=>{<アクション>; }
しかし、そのようなエラーが発生します:
- ラムダ式をタイプ「オブジェクト」に変換できないため、
- ステートメントとして使用できるのは、代入、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式のみです。
- 匿名メソッド、ラムダ式、またはクエリ式内でrefまたはoutパラメータ'str'を使用することはできません
- 匿名メソッド、ラムダ式、またはクエリ式内でrefまたはoutパラメータ'str'を使用することはできません
明示的に使用せずに私のアプリ(コンソールアプリ)でC#EXACLTYでLambdaを使用する方法
委任/Func<T>、方法の() => { }
ように?