2012-08-10 16 views
5

は、以下の方法の例を考えてみましょう:- デフォルト値でパラメータをスキップする方法

public void MyMethod (string par1, bool par2 = "true", string par3="") 
{ 
} 

今度は私がMyMethodはを呼び出し、「IamString」にPAR3の値を設定することとしましょう。

par2の値をtrueまたはfalseに設定しないとどうすればできますか?

私は基本的にpar2の値をデフォルトのままにします。

FlashのActionScriptで、キーワードデフォルトを使用して私はMyMethodは呼び出すことができることを行うことが可能ですので、私はこれを求めている(「somestring」、デフォルトを、「IamString」)とPAR2が真と解釈されます(デフォルト値)です。 C#でも可能かどうか疑問です。

+1

チェックhttp://stackoverflow.com/questions/4630444/how- to-skip-optional-c-sharpのパラメータ – Sandeep

+1

名前付き引数:http://msdn.microsoft.com/en-us/library/dd264739.aspx – asawyer

+0

参考までにSandeepとasawyer、ありがとうございました。 – IneedHelp

答えて

11
public void MyMethod (string par1, bool par2 = "true", string par3=""){} 
Myclass.MyMethod(par1:"par1", par3:"par3"); 

、これは動作しません。bool par2 = "true"

string par2 = "true"

または

bool par2 = true

デフォルト値の話、あなたはまた、特定の型のデフォルト値を取得するには、これを使用することもできます。

default(T)

+0

ありがとう!そして、ええ、あなたは右のboolですpar2 = "true"は動作しません。私は単純な例をレイアウトしようとしている間、間違いです。 – IneedHelp

+0

あなたは歓迎です:-)答えとしてあなたの希望の返信を記入することを忘れないでください:) – SeToY

+0

はい、あなたは最近、あなたの答えを編集したので、私にはできません。私は1分でそれを受け入れることができるでしょう。 – IneedHelp

9

あなたは名前でパラメータを、これを指定することができます。

instance.MyMethod("Hello", par3:"bla"); 

は、ルックhereを持っています。

し、別のバグがあります:

bool par2 = true 

が正しいとは...ところで

+0

あなたの答えもありがとう。 – IneedHelp

+0

はいいいえ問題はありません:)それは動作します – tuxtimo

+0

あなたの答えはSeToY'sにとっても同様に有用ですが、最初に見つけたので私は彼を受け入れます。それにもかかわらず、ありがとうございます。 – IneedHelp

関連する問題