私はいつも以下の行を使用したいと思っていましたが、C#コンパイラは私を私にさせません。私には、私が欲しいものは明白で不明瞭です。cでのミニマリスト配列の作成
myString.Trim({'[', ']'});
私が使用して私の目標をacheiveすることができます
myString.Trim(new char[]{'[', ']'});
だから私は思って死ぬことはない最初のアプローチに近いそれを行うための他の方法はありますか?
私はいつも以下の行を使用したいと思っていましたが、C#コンパイラは私を私にさせません。私には、私が欲しいものは明白で不明瞭です。cでのミニマリスト配列の作成
myString.Trim({'[', ']'});
私が使用して私の目標をacheiveすることができます
myString.Trim(new char[]{'[', ']'});
だから私は思って死ぬことはない最初のアプローチに近いそれを行うための他の方法はありますか?
string.Trim(...)
方法は、実際にparams
引数を取り、そう、なぜあなただけ呼び出すことはありません:
myString.Trim('[', ']');
また、これを試みることができる:
myString.Trim("[]".ToCharArray());
その他は具体的な例に集中し(それはパラメータの配列を移動するための方法であるという事実を使用して)、しかし、あなたはC#3の暗黙的に興味がある可能性がありきタイピング。あなたが書かれている可能性があり:
myString.Trim(new[] {'[', ']'});
ないかなりコンパクトとして、あなたが後にあったように、あなたはまだあなたが変数初期化子を書いている場合を除き「私は配列を作成したい」というコンセプトを表現する必要があるとして、配列の型は内容から推測されます。
このため、大きなユースケースは、匿名型である:それは名前を持っていないので、ここで
var skeets = new[] {
new { Name="Jon", Age=32 },
new { Name="Holly", Age=33 },
new { Name="Tom", Age=5 },
new { Name="Robin", Age=3 },
new { Name="William", Age=3 }
};
あなたがはは(それはC#で表現可能です)、タイプの名前を書くことができませんでした。
もう一つのポイントは、あなたの具体的な例について作る- あなたはとにかく新しい配列を毎回作成しないようにすることもできます(つまり、多くの場合、Trim
メソッドを呼び出す)、頻繁にこれを使用するつもりなら:
private static readonly char[] SquareBrackets = {'[', ']'};
public void Whatever() {
...
foo = myString.Trim(SquareBrackets);
...
}
前に 'params'で作業したことがない場合は、IDEのヘルプを参照する価値があります。 – jerryjvl
私はいつも文字を示すために小さな引用符を忘れています。微妙だが重要。 – HitLikeAHammer