2012-07-23 6 views
11

私はReSharperでいくつかのC#コードのリファクタリングに取り組んでいました。私が遭遇したことの1つは、私がよく知らないC#演算子です。私のコードでCでの神秘的な "Fコロン"#

は、私はNUMROWSが整数である。この

Mathf.FloorToInt(NumRows/2) 

を持っていました。 ReSharperのは、私はf:がfloatとしてNUMROWSをキャストするためにそれを伝えますが、私はf:オンラインのための任意のドキュメントを見つけることができませんいくつかのフラグであることをかなり確信して

Mathf.FloorToInt(f: NumRows/2) 

に変更しなければならないことを示唆しています。誰でも正確にf:のことを詳しく調べたり、MSDNのページにリンクしたりできますか?

(私は何Fの良いアイデアを持っているものの:ん、それはコロンのためにインターネットを検索するのは難しい、と私はそれを使用する前にそれが何を知りたい)

アップデート1:それは私が引数名「F」を追加できることを示唆している実際のVisual Studioだっ判明:は関係なく、私が何をしようとしているのは、私は

アップデート2は、F-コロン構文に興味ReSharperではなく、正解を変更しません。

+0

を印刷しますが、あなたが* *(例えば、警告)か、*(例えば情報/ヒント)*できることをすべきであることを示唆しているRの#ですか? – Lucero

+0

私は質問を更新しました。実際にはVisual Studioのツールチップであり、私は思ったようにR#erの提案ではありませんでした。 (あまりにも多くのものがポップアップ...) – Perchik

答えて

20

named parameterです。 Mathf.FloorToIntという定義を見ると、fという名前のパラメータがあります。

Resharperは、この場合、名前付きパラメータを使用してコードを読みやすくすることができることを示しています。

+0

ありがとう、それは私が必要としたものです。私はそれがFloorToInt特有であったかもしれないと思うのをやめなかった。 – Perchik

+0

リンクの内容が変更および削除される可能性があるので、解答を含むリンクを投稿することはお勧めしません。 – Sturm

+3

@ NathanMann、リンクが変更されるのは間違いありませんが、ここでの指定された説明( "名前付きパラメータ")は、無効になる場合(単に "c#"を追加してあなたが必要とする情報)。ときどき正しい答えさえも短いです。 – Lucero

9

C#4.0では、メソッド呼び出しでパラメータ式を切り替えることができます。

パラメータが1つしかない場合、パラメータが1つしかない場合、表現が何を表しているかについては疑問の余地はありません。ただし、複数のパラメータを使用すると、この機能がさらに役立ちます。パラメータ名とその値を表す式をペアにし、任意の順序でパラメータを渡すことができます。どのような式がどのパラメータを表すのかを理解するために、プログラムの読者はメソッドのシグネチャを参照する必要はありません。

private static void MyMethod(int a, int b, int c) { 
    Console.WriteLine("{0} {1} {2}", a, b, c); 
} 

public static void Main(string[] args) { 
    MyMethod(1, 2, 3); 
    MyMethod(c:1, a:2, b:3); 
} 

これは

1 2 3 
2 3 1 
関連する問題